/* Sushi Diver — vanilla styles */
:root {
    --sushi-cyan: #00b4db;
    --sushi-cyan-dark: #0088a8;
    --sushi-teal: #0a4a5c;
    --sushi-deep: #062a36;
    --sushi-yellow: #ffd700;
    --sushi-yellow-dark: #e6b800;
    --sushi-card: rgba(15, 45, 58, 0.65);
    --sushi-border: rgba(0, 180, 219, 0.35);
    --sushi-text: #e8f4f8;
    --sushi-muted: #9ec8d4;
    --nav-bg: rgba(6, 42, 54, 0.95);
    --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    /* Windows Chrome/Opera: флаги-эмодзи не должны наследовать текстовый Segoe UI */
    --font-emoji: "Noto Color Emoji", "Segoe UI Emoji", "Apple Color Emoji", "Twemoji Mozilla", emoji, sans-serif;
    --site-nav-height: 64px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    max-width: 100vw;
}

body {
    margin: 0;
    font-family: var(--font);
    background: linear-gradient(165deg, var(--sushi-deep) 0%, #0d3d4d 40%, var(--sushi-teal) 100%);
    color: var(--sushi-text);
    min-height: 100vh;
    overflow-x: hidden;
    max-width: 100vw;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
}

.hidden {
    display: none !important;
}

/* Блокировка прокрутки страницы при открытом lightbox скриншота */
html.is-modal-open,
body.is-modal-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

.container--narrow {
    max-width: 900px;
}

/* Шапка: без ограничения 1200px — иначе на широком мониторе логотип и меню выглядят «колонкой» по центру экрана */
.site-nav .container.site-nav__inner {
    max-width: none;
    width: 100%;
}

@media (min-width: 1280px) {
    .site-nav .container.site-nav__inner {
        padding-left: clamp(1rem, 4vw, 2.5rem);
        padding-right: clamp(1rem, 4vw, 2.5rem);
    }
}

/* Nav — бренд слева, ссылки + язык справа; нижняя полоса как в оригинальной теме Sushi Diver */
/* direction: ltr + dir на <nav> — при html[dir=rtl] flex/order не ломает шапку (как изоляция карусели в devil-crushers) */
.site-nav {
    direction: ltr;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--nav-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 3px solid var(--sushi-cyan);
    box-shadow: 0 4px 20px rgba(0, 180, 219, 0.2);
}

.site-nav__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    /* Чуть меньше сверху: крупный логотип + метрики шрифта иначе визуально «сядут» ниже центра */
    padding-top: 0.65rem;
    padding-bottom: 1rem;
    box-sizing: border-box;
}

.site-nav__brand {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    color: #fff;
    letter-spacing: -0.02em;
}

.site-nav__end {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    min-width: 0;
}

@media (min-width: 1024px) {
    .site-nav__end {
        gap: 1.5rem;
    }
}

.site-nav__brand:hover {
    color: var(--sushi-yellow);
}

.site-nav__links {
    display: none;
    gap: 2rem;
    flex-wrap: wrap;
    row-gap: 0.5rem;
}

.site-nav__links a {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.88);
    font-weight: 500;
}

.site-nav__links a:hover {
    color: var(--sushi-yellow);
}

.site-nav__news-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin-right: 0.35rem;
}

.site-nav__link--news {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 1.15rem 0.35rem 0.15rem;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.88);
    font-weight: 500;
}

.site-nav__link--news:hover {
    color: var(--sushi-yellow);
}

.site-nav__news-text {
    display: inline-block;
}

/* Some scripts have taller glyph metrics and can inflate nav height. */
html[lang="my"] .site-nav__inner,
html[lang="km"] .site-nav__inner,
html[lang="lo"] .site-nav__inner,
html[lang="th"] .site-nav__inner,
html[lang="si"] .site-nav__inner,
html[lang="hi"] .site-nav__inner,
html[lang="ne"] .site-nav__inner,
html[lang="bn"] .site-nav__inner,
html[lang="pa"] .site-nav__inner,
html[lang="ta"] .site-nav__inner,
html[lang="te"] .site-nav__inner {
    padding-top: 0.52rem;
    padding-bottom: 0.82rem;
}

html[lang="my"] .site-nav__links a,
html[lang="km"] .site-nav__links a,
html[lang="lo"] .site-nav__links a,
html[lang="th"] .site-nav__links a,
html[lang="si"] .site-nav__links a,
html[lang="hi"] .site-nav__links a,
html[lang="ne"] .site-nav__links a,
html[lang="bn"] .site-nav__links a,
html[lang="pa"] .site-nav__links a,
html[lang="ta"] .site-nav__links a,
html[lang="te"] .site-nav__links a,
html[lang="my"] .site-nav__link--news,
html[lang="km"] .site-nav__link--news,
html[lang="lo"] .site-nav__link--news,
html[lang="th"] .site-nav__link--news,
html[lang="si"] .site-nav__link--news,
html[lang="hi"] .site-nav__link--news,
html[lang="ne"] .site-nav__link--news,
html[lang="bn"] .site-nav__link--news,
html[lang="pa"] .site-nav__link--news,
html[lang="ta"] .site-nav__link--news,
html[lang="te"] .site-nav__link--news,
html[lang="my"] .lang-switcher__trigger,
html[lang="km"] .lang-switcher__trigger,
html[lang="lo"] .lang-switcher__trigger,
html[lang="th"] .lang-switcher__trigger,
html[lang="si"] .lang-switcher__trigger,
html[lang="hi"] .lang-switcher__trigger,
html[lang="ne"] .lang-switcher__trigger,
html[lang="bn"] .lang-switcher__trigger,
html[lang="pa"] .lang-switcher__trigger,
html[lang="ta"] .lang-switcher__trigger,
html[lang="te"] .lang-switcher__trigger {
    line-height: 1.05;
}

.site-nav__badge-new {
    position: absolute;
    /* Было top: -0.35rem — бейдж уезжал к верхней кромке шапки; держим на уровне середины ссылки «Новости» */
    top: 50%;
    right: -0.08rem;
    z-index: 2;
    display: inline-block;
    padding: 0.18rem 0.42rem;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.15;
    color: #fff;
    background: linear-gradient(160deg, #ef5350, #c62828);
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(0, 0, 0, 0.2) inset;
    transform: translateY(calc(-50% + 3px)) rotate(25deg);
    transform-origin: 100% 50%;
    pointer-events: none;
}

.wiki-news-page {
    /* Ярче и насыщеннее, верх — тёплый янтарь (не белый / не крем) */
    --wiki-news-gold: #f0ca4a;
    --wiki-news-gold-dim: #9a6e12;
    --wiki-news-title-top: #d4ad5c;
    --wiki-news-title-mid: #e8bf2e;
    --wiki-news-card-bg: rgba(10, 28, 36, 0.92);
    /* Под фиксированную шапку (~56–60px): заметный зазор до крошек; крошки — близко к h1 (margin у nav ниже) */
    padding: calc(var(--site-nav-height) + 1.15rem) 0 4rem;
    min-height: 40vh;
    background:
        radial-gradient(ellipse 120% 80% at 50% -20%, rgba(0, 180, 219, 0.12), transparent 55%),
        linear-gradient(180deg, #041820 0%, var(--sushi-deep) 45%, #072530 100%);
    color: rgba(255, 255, 255, 0.9);
}

.wiki-news-page__inner {
    max-width: 52rem;
}

.wiki-news-crumbs {
    margin: 0 0 0.15rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.55);
}

.wiki-news-crumbs__sep {
    margin: 0 0.4rem;
    color: rgba(255, 255, 255, 0.28);
    font-weight: 500;
}

.wiki-news-crumbs__link {
    color: rgba(255, 255, 255, 0.62);
    text-decoration: none;
    font-weight: 500;
}

.wiki-news-crumbs__link:hover {
    color: var(--sushi-yellow);
    text-decoration: underline;
}

.wiki-news-crumbs__muted {
    color: rgba(255, 255, 255, 0.45);
    font-weight: 500;
    cursor: default;
}

.wiki-news-crumbs__current {
    color: var(--wiki-news-gold);
    font-weight: 600;
}

.wiki-news-page__title {
    margin: 0 0 0.75rem;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: clamp(2rem, 5vw, 2.65rem);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: left;
    line-height: 1.1;
    background: linear-gradient(
        180deg,
        var(--wiki-news-title-top) 0%,
        var(--wiki-news-title-mid) 26%,
        #ecc22f 52%,
        var(--wiki-news-gold) 70%,
        var(--wiki-news-gold-dim) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.wiki-news-page__lead {
    margin: 0 0 2rem;
    max-width: 42rem;
    text-align: left;
    color: rgba(180, 210, 218, 0.92);
    font-size: 1.05rem;
    line-height: 1.55;
}

.news-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.news-list__item {
    display: flex;
    min-width: 0;
}

/* Scheduled posts ship with the `hidden` attribute until their publish date.
   The display:flex above overrides the UA `[hidden]` rule, so force-hide here.
   activateScheduledPublishItems() removes `hidden` at publish time to reveal. */
.news-list__item[hidden],
.media-list__item[hidden] {
    display: none !important;
}

.news-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    padding: 0;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    background: var(--wiki-news-card-bg);
    border: 1px solid rgba(232, 197, 71, 0.22);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.news-card:hover {
    border-color: rgba(255, 215, 0, 0.5);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
    transform: translateY(-2px);
}

.news-card__thumb {
    flex: none;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

.news-card__thumb--empty {
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.15), rgba(6, 42, 54, 0.9));
}

.news-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news-card__thumb--update-teaser .news-card__img {
    /* WHO'S THAT DIVER center ≈28.4% of source; max ~9% before left text clips */
    object-position: 2% center;
}

.news-card__thumb--rpg-update .news-card__img {
    object-position: 11% center;
}

.news-card__thumb--tips-guide .news-card__img {
    /* 7 TIPS FOR center ≈72.4% of source; max ~98% before right text clips */
    object-position: 98% center;
}

.news-card__thumb--rpg-discount .news-card__img {
    /* Diver+RPG sits on the right of the banner — push fully left to frame him. */
    object-position: 95% center;
}

.news-card:hover .news-card__thumb--update-teaser .news-card__img,
.news-card:hover .news-card__thumb--rpg-discount .news-card__img,
.news-card:hover .news-card__thumb--rpg-update .news-card__img {
    transform: none;
}

.news-card:hover .news-card__thumb--tips-guide .news-card__img {
    transform: none;
}

.news-card__body {
    flex: 1;
    min-width: 0;
    padding: 1rem 1.15rem 1rem 1.1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.news-card__title {
    margin: 0 0 0.35rem;
    font-size: clamp(0.95rem, 2.5vw, 1.05rem);
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--wiki-news-gold);
    line-height: 1.25;
}

.news-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.85rem;
    margin-bottom: 0.55rem;
}

.news-card__date {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(180, 210, 218, 0.85);
}

.news-card__reading {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(180, 210, 218, 0.7);
}

.news-card__reading i {
    color: var(--wiki-news-gold);
    font-size: 0.72rem;
}

.news-card__excerpt {
    margin: 0;
    font-size: 0.9rem;
    color: rgba(220, 235, 240, 0.82);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-card__cta {
    margin-top: auto;
    padding-top: 0.55rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--sushi-yellow);
}

.wiki-news-page--article .wiki-section-back {
    margin-top: 2rem;
}

/* После крошек до h1: на списке сразу .wiki-news-page__title (крупнее); в статье — .wiki-news-article__title
   поменьше — без доп. отступа блок визуально «прилипает» к крошкам сильнее списка. */
.wiki-news-page--article .wiki-news-article {
    margin-top: clamp(0.45rem, 1.35vw, 0.9rem);
}

.wiki-news-article__header {
    margin: 0 0 1rem;
    text-align: left;
}

.wiki-news-article__title {
    margin: 0 0 0.5rem;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: clamp(1.55rem, 4vw, 2.05rem);
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.15;
    background: linear-gradient(
        180deg,
        var(--wiki-news-title-top) 0%,
        var(--wiki-news-title-mid) 26%,
        #ecc22f 52%,
        var(--wiki-news-gold) 70%,
        var(--wiki-news-gold-dim) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.wiki-news-article__title-line {
    display: block;
}

.wiki-news-article__title-line--main::after {
    content: "";
    display: block;
    width: clamp(6.5rem, 32vw, 11rem);
    height: 2px;
    margin: 0.14em 0 0.16em;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.85) 0%, rgba(0, 180, 219, 0.45) 72%, transparent 100%);
    opacity: 0.9;
}

.wiki-news-article__title-line--sub {
    margin-top: 0;
    font-size: 0.72em;
    line-height: 1.22;
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* Цветные эмодзи — gradient h1 и inline в тексте статьи */
.wiki-title-emoji {
    display: inline;
    font-family: var(--font-emoji);
    font-style: normal;
    font-weight: normal;
    letter-spacing: normal;
    text-transform: none;
    background: none;
    -webkit-background-clip: initial;
    background-clip: initial;
    -webkit-text-fill-color: initial;
    color: initial;
    vertical-align: -0.05em;
}

.wiki-news-article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1.35rem;
    margin-top: 0.15rem;
}

.wiki-news-article__date,
.wiki-news-article__reading-time {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    color: rgba(180, 210, 218, 0.9);
    font-weight: 500;
}

.wiki-news-article__date-icon,
.wiki-news-article__reading-time-icon {
    color: rgba(255, 215, 0, 0.75);
    font-size: 0.9rem;
}

.wiki-news-article__toc {
    margin: 0 0 1.35rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(255, 215, 0, 0.22);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(8, 42, 52, 0.92) 0%, rgba(12, 58, 68, 0.78) 100%);
}

.wiki-news-article--update-teaser .wiki-news-article__toc {
    margin-top: 0.25rem;
}

.wiki-news-article__toc-title {
    margin: 0 0 0.75rem;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--wiki-news-gold);
}

.wiki-news-article__toc-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.45rem;
}

@media (min-width: 640px) {
    .wiki-news-article__toc-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.25rem;
    }
}

.wiki-news-article__toc-link {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    color: rgba(220, 240, 246, 0.92);
    text-decoration: none;
    font-size: 0.92rem;
    line-height: 1.35;
    transition: color 0.15s ease;
}

.wiki-news-article__toc-link::before {
    content: "→";
    color: rgba(255, 215, 0, 0.72);
    font-size: 0.82rem;
    flex-shrink: 0;
}

.wiki-news-article__toc-link:hover {
    color: #fff4b8;
}

.wiki-news-article__toc-link:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.55);
    outline-offset: 2px;
    border-radius: 4px;
}

.wiki-news-article__lead {
    margin: 0 0 1.25rem;
    font-size: 1.05rem;
    line-height: 1.55;
    color: rgba(230, 244, 248, 0.92);
    font-weight: 500;
}

.wiki-news-article__lead--after-figure {
    margin-top: 0;
    margin-bottom: 1.35rem;
}

.wiki-news-article__figure {
    margin: 0 0 1.75rem;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(232, 197, 71, 0.2);
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.4);
}

.wiki-news-article__img {
    display: block;
    width: 100%;
    height: auto;
}

.wiki-news-article__body {
    max-width: none;
    margin: 0;
}

/* Разделитель между крупными секциями (h2) — голубая линия в тон палитре сайта */
.wiki-news-article__rule {
    border: 0;
    height: 1px;
    /* Симметрия: зазор до линии и после — как между завершённым блоком и разделителем */
    margin: 1.75rem 0 1.75rem;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(0, 180, 219, 0.2) 12%,
        rgba(0, 180, 219, 0.75) 50%,
        rgba(0, 136, 168, 0.45) 88%,
        transparent 100%
    );
    box-shadow: 0 0 8px rgba(0, 180, 219, 0.25);
}

.wiki-news-article__rule + .wiki-news-article__h2 {
    margin-top: 0;
}

.wiki-news-article__h2 {
    margin: 1.75rem 0 0.65rem;
    font-size: 1.2rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.02em;
}

.wiki-news-article__h2--section {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1.75rem 0 0.85rem;
    padding: 0.7rem 0.95rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 215, 0, 0.42);
    background: linear-gradient(
        105deg,
        rgba(6, 42, 54, 0.92) 0%,
        rgba(3, 17, 22, 0.88) 100%
    );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 4px 16px rgba(0, 0, 0, 0.22);
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sushi-yellow);
}

.wiki-news-article__h2-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 215, 0, 0.35);
    background: rgba(0, 0, 0, 0.38);
    color: var(--sushi-yellow);
    font-size: 1.05rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.wiki-news-article__h2-text {
    flex: 1;
    min-width: 0;
    line-height: 1.25;
    color: var(--sushi-yellow);
}

.wiki-news-article__h2:first-child {
    margin-top: 0;
}

.wiki-news-article__h2--section:first-child {
    margin-top: 0;
}

.wiki-news-article__section-cta {
    margin: 0.35rem 0 1.1rem;
}

.wiki-news-article__section-cta-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 215, 0, 0.42);
    background: linear-gradient(180deg, rgba(0, 136, 168, 0.95) 0%, rgba(0, 100, 130, 0.98) 100%);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.28);
    color: #fff;
    font-weight: 700;
    font-size: 0.92rem;
    text-decoration: none;
    transition:
        filter 0.15s ease,
        transform 0.15s ease;
}

.wiki-news-article__section-cta-link:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
    color: #fff;
}

.wiki-news-article__section-cta-link:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.65);
    outline-offset: 2px;
}

.wiki-news-article__h3 {
    margin: 1.25rem 0 0.45rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: rgba(255, 215, 0, 0.92);
}

.wiki-news-article__h3-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.14em;
}

.wiki-news-article__h3-link:hover {
    color: #fff3c6;
}

.wiki-news-article__inline-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.14em;
}

.wiki-news-article__inline-link:hover {
    color: #fff3c6;
}

.wiki-news-article__inline-link:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.55);
    outline-offset: 2px;
}

/* Плотнее между соседними абзацами; крупные секции отделяет hr + h2 */
.wiki-news-article__p {
    margin: 0 0 0.5rem;
    line-height: 1.68;
    color: rgba(255, 255, 255, 0.88);
}

.wiki-news-article__body > .wiki-news-article__p:last-of-type {
    margin-bottom: 0.75rem;
}

/* Длинная новость-тизер: колонка, списки, соцкнопки */
.wiki-news-article--update-teaser .wiki-news-article__h2--section,
.wiki-news-article--update-teaser .wiki-news-article__download-panel-title,
.wiki-news-article--update-teaser .wiki-news-article__external-posts-title {
    scroll-margin-top: 5.5rem;
}

.wiki-news-article--update-teaser .wiki-news-article__lead,
.wiki-news-article--update-teaser .wiki-news-article__lead--after-figure {
    max-width: 42rem;
    font-size: 1.08rem;
    line-height: 1.62;
}

.wiki-news-article--update-teaser .wiki-news-article__body {
    max-width: 42rem;
}

.wiki-news-article__download-panel {
    margin: 0 0 1.5rem;
    padding: 1.15rem 1.2rem 1.25rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 215, 0, 0.38);
    background:
        radial-gradient(circle at 100% 0%, rgba(0, 180, 219, 0.18), transparent 42%),
        linear-gradient(145deg, rgba(6, 52, 64, 0.88) 0%, rgba(3, 17, 22, 0.94) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 10px 28px rgba(0, 0, 0, 0.26);
}

.wiki-news-article__download-panel-head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
}

.wiki-news-article__download-panel-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 11px;
    border: 1px solid rgba(255, 215, 0, 0.42);
    background: rgba(0, 0, 0, 0.38);
    color: var(--sushi-yellow);
    font-size: 1.2rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.wiki-news-article__download-panel-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sushi-yellow);
    line-height: 1.25;
}

.wiki-news-article__download-panel-body .wiki-news-article__p {
    margin-bottom: 0.75rem;
}

.wiki-news-article__download-panel-body .wiki-news-article__p:last-child {
    margin-bottom: 1rem;
}

.wiki-news-article__download-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.8rem 1.15rem;
    border-radius: 11px;
    border: 1px solid rgba(255, 215, 0, 0.45);
    background: linear-gradient(180deg, rgba(0, 148, 184, 0.98) 0%, rgba(0, 108, 140, 0.98) 100%);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
    color: #fff;
    font-weight: 800;
    font-size: 0.98rem;
    text-decoration: none;
    transition:
        filter 0.15s ease,
        transform 0.15s ease;
}

.wiki-news-article__download-cta:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
    color: #fff;
}

.wiki-news-article__download-cta:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.65);
    outline-offset: 2px;
}

.wiki-news-article__download-cta-icon {
    opacity: 0.92;
}

.wiki-news-article__download-cta-label {
    flex: 1;
    text-align: center;
}

.wiki-news-article__download-cta-arrow {
    opacity: 0.85;
}

.wiki-news-article--update-teaser .wiki-news-article__feature-section {
    margin: 0 0 1.5rem;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin: 0.65rem 0 1.75rem;
    padding: 0;
    list-style: none;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-list-item {
    margin: 0;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1rem 1.05rem 1.1rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(145deg, rgba(6, 42, 54, 0.72) 0%, rgba(3, 17, 22, 0.88) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 8px 22px rgba(0, 0, 0, 0.22);
    color: inherit;
    text-decoration: none;
    transition:
        border-color 0.15s ease,
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

@media (max-width: 639px) {
    .wiki-news-article--update-teaser .wiki-news-article__entry-panel:not(.wiki-news-article__entry-panel--weapon) .wiki-news-article__entry-panel-content {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel:not(.wiki-news-article__entry-panel--weapon) .wiki-news-article__entry-panel-cta {
        max-width: none;
        width: 100%;
    }
}

@media (min-width: 640px) {
    .wiki-news-article--update-teaser .wiki-news-article__entry-panel {
        grid-template-columns: minmax(7.5rem, 9.5rem) minmax(0, 1fr);
        gap: 1.15rem;
        align-items: center;
    }
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--link:hover {
    transform: translateY(-1px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 10px 26px rgba(0, 0, 0, 0.28);
    color: inherit;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--link:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.65);
    outline-offset: 2px;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--gold {
    border-color: rgba(255, 215, 0, 0.28);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--gold .wiki-news-article__entry-panel-media {
    border-color: rgba(255, 215, 0, 0.28);
    background: radial-gradient(circle at 50% 42%, rgba(255, 215, 0, 0.14), rgba(0, 0, 0, 0.28) 68%);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--gold.wiki-news-article__entry-panel--link:hover {
    border-color: rgba(255, 215, 0, 0.45);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--cyan {
    border-color: rgba(0, 180, 219, 0.3);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--cyan .wiki-news-article__entry-panel-media {
    border-color: rgba(0, 180, 219, 0.28);
    background: radial-gradient(circle at 50% 42%, rgba(0, 180, 219, 0.16), rgba(0, 0, 0, 0.28) 68%);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--cyan.wiki-news-article__entry-panel--link:hover {
    border-color: rgba(0, 180, 219, 0.45);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--green {
    border-color: rgba(139, 195, 74, 0.3);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--green .wiki-news-article__entry-panel-media {
    border-color: rgba(139, 195, 74, 0.28);
    background: radial-gradient(circle at 50% 42%, rgba(139, 195, 74, 0.14), rgba(0, 0, 0, 0.28) 68%);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--green.wiki-news-article__entry-panel--link:hover {
    border-color: rgba(139, 195, 74, 0.45);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-media {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-img {
    display: block;
    width: 100%;
    max-width: 8.5rem;
    height: auto;
    margin: 0 auto;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.35));
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-img--empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    font-size: 2rem;
    color: var(--sushi-yellow);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-content {
    min-width: 0;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-title {
    margin: 0 0 0.55rem;
    font-size: 1.02rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--sushi-yellow);
    line-height: 1.25;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-text {
    margin: 0 0 0.9rem;
    line-height: 1.55;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    max-width: 22rem;
    box-sizing: border-box;
    padding: 0.72rem 0.95rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 215, 0, 0.38);
    background: rgba(0, 0, 0, 0.28);
    color: #fff8e8;
    font-weight: 800;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--link:hover .wiki-news-article__entry-panel-cta {
    border-color: rgba(255, 215, 0, 0.55);
    background: rgba(0, 0, 0, 0.38);
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-cta-label {
    flex: 1;
    text-align: center;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-cta-arrow {
    opacity: 0.85;
}

/* Оружие и ammo: описание слева (desktop), справа название → крупная иконка → CTA */
.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon {
    grid-template-columns: 1fr;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-aside {
    display: contents;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-showcase {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.7rem;
    order: 1;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-copy {
    order: 2;
    min-width: 0;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel-aside .wiki-news-article__entry-panel-cta {
    order: 3;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-media {
    width: 100%;
    padding: 1rem 0.85rem 0.9rem;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-img--weapon {
    max-width: 10.5rem;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-img--empty.wiki-news-article__entry-panel-img--weapon {
    width: 6.5rem;
    height: 6.5rem;
    font-size: 2.35rem;
}

@media (max-width: 639px) {
    .wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon.wiki-news-article__entry-panel--wiki-weapon .wiki-news-article__entry-panel-img--weapon {
        width: 15.75rem;
        max-width: 15.75rem;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon.wiki-news-article__entry-panel--wiki-weapon .wiki-news-article__entry-panel-img--empty.wiki-news-article__entry-panel-img--weapon {
        width: 9.75rem;
        height: 9.75rem;
        font-size: 3.5rem;
    }
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-title {
    margin: 0;
    text-align: center;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-text {
    margin: 0;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-cta {
    width: 100%;
    max-width: none;
    text-decoration: none;
    justify-content: center;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        transform 0.15s ease;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-cta:hover {
    border-color: rgba(255, 215, 0, 0.55);
    background: rgba(0, 0, 0, 0.38);
    transform: translateY(-1px);
    color: #fff8e8;
}

.wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-cta:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.65);
    outline-offset: 2px;
}

@media (min-width: 640px) {
    .wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon {
        grid-template-columns: minmax(0, 1fr) minmax(11rem, 14rem);
        gap: 1.35rem 1.5rem;
        align-items: center;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel-aside {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.7rem;
        grid-column: 2;
        order: 2;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel-showcase {
        order: 0;
        align-items: center;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel-copy {
        order: 1;
        grid-column: 1;
        align-self: center;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel-aside .wiki-news-article__entry-panel-cta {
        order: 0;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-img--weapon {
        max-width: 12.5rem;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon .wiki-news-article__entry-panel-img--empty.wiki-news-article__entry-panel-img--weapon {
        width: 7.5rem;
        height: 7.5rem;
        font-size: 2.75rem;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon.wiki-news-article__entry-panel--green .wiki-news-article__entry-panel-media {
        padding: 0.75rem 0.65rem 0.7rem;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon.wiki-news-article__entry-panel--green .wiki-news-article__entry-panel-img--weapon {
        width: 7rem;
        max-width: 7rem;
    }

    .wiki-news-article--update-teaser .wiki-news-article__entry-panel--weapon.wiki-news-article__entry-panel--green .wiki-news-article__entry-panel-img--empty.wiki-news-article__entry-panel-img--weapon {
        width: 5rem;
        height: 5rem;
        font-size: 2rem;
    }
}

.wiki-news-article--update-teaser .wiki-news-article__fish-entry-grid {
    margin: 0.65rem 0 1.75rem;
    gap: 0.85rem;
}

.wiki-news-article--update-teaser .wiki-news-article__fish-entry-card {
    border-color: rgba(0, 180, 219, 0.3);
}

.wiki-news-article--update-teaser .wiki-news-article__fish-entry-card-thumb {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    height: 7.5rem;
    background: radial-gradient(circle at 50% 42%, rgba(0, 180, 219, 0.14), rgba(0, 0, 0, 0.24) 68%);
}

.wiki-news-article--update-teaser .wiki-news-article__fish-entry-card-thumb img {
    display: block;
    margin: 0 auto;
    object-fit: contain;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.35));
}

.wiki-news-article--update-teaser .wiki-news-article__fish-entry-card .weapon-card__body {
    gap: 0.45rem;
}

@media (min-width: 760px) {
    .wiki-news-article--update-teaser .wiki-news-article__fish-entry-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-grid {
    margin: 0.65rem 0 1.75rem;
    gap: 0.85rem;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card {
    position: relative;
    overflow: hidden;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: 3px;
    opacity: 0.95;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card-thumb {
    height: 8.25rem;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card-thumb img {
    max-height: 6.75rem;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.35));
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card .weapon-card__body {
    gap: 0.45rem;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card .weapon-card__title {
    -webkit-line-clamp: 2;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--uncommon {
    border-color: rgba(139, 195, 74, 0.42);
    background: linear-gradient(180deg, rgba(139, 195, 74, 0.1) 0%, rgba(6, 42, 54, 0.58) 42%, rgba(3, 17, 22, 0.9) 100%);
    box-shadow:
        inset 0 1px 0 rgba(139, 195, 74, 0.12),
        0 12px 28px rgba(0, 0, 0, 0.22);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--uncommon::before {
    background: linear-gradient(90deg, rgba(139, 195, 74, 0.15), rgba(139, 195, 74, 0.95) 50%, rgba(139, 195, 74, 0.15));
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--uncommon:hover {
    border-color: rgba(139, 195, 74, 0.62);
    background: linear-gradient(180deg, rgba(139, 195, 74, 0.14) 0%, rgba(8, 55, 70, 0.68) 100%);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card-thumb--uncommon {
    background: radial-gradient(circle at 50% 38%, rgba(139, 195, 74, 0.2), rgba(0, 0, 0, 0.24) 68%);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--uncommon .weapon-card__title {
    color: #d7f0b8;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--uncommon .weapon-card__cta {
    color: #a5d86a;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--rare {
    border-color: rgba(77, 163, 255, 0.42);
    background: linear-gradient(180deg, rgba(77, 163, 255, 0.1) 0%, rgba(6, 42, 54, 0.58) 42%, rgba(3, 17, 22, 0.9) 100%);
    box-shadow:
        inset 0 1px 0 rgba(77, 163, 255, 0.12),
        0 12px 28px rgba(0, 0, 0, 0.22);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--rare::before {
    background: linear-gradient(90deg, rgba(77, 163, 255, 0.15), rgba(77, 163, 255, 0.95) 50%, rgba(77, 163, 255, 0.15));
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--rare:hover {
    border-color: rgba(77, 163, 255, 0.62);
    background: linear-gradient(180deg, rgba(77, 163, 255, 0.14) 0%, rgba(8, 55, 70, 0.68) 100%);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card-thumb--rare {
    background: radial-gradient(circle at 50% 38%, rgba(77, 163, 255, 0.2), rgba(0, 0, 0, 0.24) 68%);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--rare .weapon-card__title {
    color: #c8e4ff;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--rare .weapon-card__cta {
    color: #6eb5ff;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--epic {
    border-color: rgba(186, 104, 255, 0.45);
    background: linear-gradient(180deg, rgba(186, 104, 255, 0.12) 0%, rgba(6, 42, 54, 0.58) 42%, rgba(3, 17, 22, 0.9) 100%);
    box-shadow:
        inset 0 1px 0 rgba(186, 104, 255, 0.14),
        0 12px 28px rgba(0, 0, 0, 0.22);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--epic::before {
    background: linear-gradient(90deg, rgba(186, 104, 255, 0.15), rgba(186, 104, 255, 0.95) 50%, rgba(186, 104, 255, 0.15));
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--epic:hover {
    border-color: rgba(186, 104, 255, 0.68);
    background: linear-gradient(180deg, rgba(186, 104, 255, 0.16) 0%, rgba(8, 55, 70, 0.68) 100%);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card-thumb--epic {
    background: radial-gradient(circle at 50% 38%, rgba(186, 104, 255, 0.22), rgba(0, 0, 0, 0.24) 68%);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--epic .weapon-card__title {
    color: #e8ccff;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--epic .weapon-card__cta {
    color: #c98fff;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--legendary {
    border-color: rgba(255, 183, 0, 0.5);
    background: linear-gradient(180deg, rgba(255, 183, 0, 0.14) 0%, rgba(6, 42, 54, 0.58) 42%, rgba(3, 17, 22, 0.9) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 215, 0, 0.16),
        0 12px 28px rgba(255, 183, 0, 0.1),
        0 12px 28px rgba(0, 0, 0, 0.22);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--legendary::before {
    background: linear-gradient(90deg, rgba(255, 140, 0, 0.2), rgba(255, 215, 0, 1) 50%, rgba(255, 140, 0, 0.2));
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--legendary:hover {
    border-color: rgba(255, 215, 0, 0.72);
    background: linear-gradient(180deg, rgba(255, 183, 0, 0.18) 0%, rgba(8, 55, 70, 0.68) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 215, 0, 0.2),
        0 14px 32px rgba(255, 183, 0, 0.16),
        0 12px 28px rgba(0, 0, 0, 0.22);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card-thumb--legendary {
    background: radial-gradient(circle at 50% 38%, rgba(255, 183, 0, 0.24), rgba(0, 0, 0, 0.24) 68%);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--legendary .weapon-card__title {
    color: #fff2c2;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--legendary .weapon-card__cta {
    color: #ffd54f;
}

@media (min-width: 560px) {
    .wiki-news-article--update-teaser .wiki-news-article__diver-skin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .wiki-news-article--update-teaser .wiki-news-article__diver-skin-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.wiki-news-article--update-teaser .wiki-news-article__status-note {
    margin: 0.35rem 0 1.1rem;
    padding: 0.95rem 1rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 193, 77, 0.38);
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 193, 77, 0.14), transparent 52%),
        linear-gradient(145deg, rgba(42, 32, 8, 0.55) 0%, rgba(8, 22, 28, 0.92) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 8px 20px rgba(0, 0, 0, 0.2);
}

.wiki-news-article--update-teaser .wiki-news-article__status-note-head {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.wiki-news-article--update-teaser .wiki-news-article__status-note-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    background: rgba(255, 193, 77, 0.16);
    color: #ffc14d;
    font-size: 0.82rem;
}

.wiki-news-article--update-teaser .wiki-news-article__status-note-label {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffc14d;
}

.wiki-news-article--update-teaser .wiki-news-article__status-note-text {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.94);
}

.wiki-news-article--update-teaser .wiki-news-article__badge-showcase-panel {
    margin-top: 0.35rem;
}

.wiki-news-article--update-teaser .wiki-news-article__badge-showcase-panel .wiki-news-article__feature-list-lead {
    margin-bottom: 1rem;
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--badge {
    border-color: rgba(255, 215, 0, 0.42);
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 215, 0, 0.12), transparent 58%),
        linear-gradient(160deg, rgba(10, 48, 58, 0.92) 0%, rgba(4, 20, 26, 0.96) 100%);
}

.wiki-news-article--update-teaser .wiki-news-article__diver-skin-card--badge .weapon-card__title {
    color: #ffe27a;
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-intro {
    margin-bottom: 0.85rem;
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-panel {
    margin: 0.15rem 0 1.15rem;
    padding: 1rem 1.05rem 1.05rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 180, 219, 0.32);
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 215, 0, 0.08), transparent 45%),
        linear-gradient(145deg, rgba(6, 42, 54, 0.72) 0%, rgba(3, 17, 22, 0.88) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 8px 22px rgba(0, 0, 0, 0.22);
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-lead {
    margin: 0 0 0.8rem;
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--sushi-yellow);
}

.wiki-news-article--update-teaser .wiki-news-article__feature-list-lead {
    margin: 0 0 0.9rem;
    text-align: center;
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.96);
    line-height: 1.35;
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 560px) {
    .wiki-news-article--update-teaser .wiki-news-article__player-changes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .wiki-news-article--update-teaser .wiki-news-article__player-changes-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-tile {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-height: 100%;
    padding: 0.62rem 0.72rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    background: rgba(0, 0, 0, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        transform 0.15s ease;
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-tile:hover {
    border-color: rgba(255, 215, 0, 0.38);
    background: rgba(0, 0, 0, 0.32);
    transform: translateY(-1px);
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-tile-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    margin-top: 0.05rem;
    border-radius: 9px;
    border: 1px solid rgba(255, 215, 0, 0.28);
    background: rgba(255, 215, 0, 0.1);
    color: var(--sushi-yellow);
    font-size: 0.95rem;
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-tile-text {
    flex: 1;
    min-width: 0;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.92rem;
}

.wiki-news-article--update-teaser .wiki-news-article__player-changes-outro {
    margin-top: 0.15rem;
    margin-bottom: 1rem;
    padding: 0.75rem 0.95rem;
    border-radius: 10px;
    border-left: 4px solid rgba(255, 215, 0, 0.55);
    background: rgba(255, 215, 0, 0.07);
    font-weight: 700;
    color: rgba(255, 255, 255, 0.94);
}

.wiki-news-article--update-teaser .wiki-news-article__p {
    margin-bottom: 0.85rem;
    line-height: 1.72;
    color: rgba(255, 255, 255, 0.9);
}

.wiki-news-article--update-teaser .wiki-news-article__h2--section {
    margin-top: 2rem;
    margin-bottom: 0.95rem;
}

.wiki-news-article--update-teaser .wiki-news-article__rule {
    margin: 2rem 0;
}

.wiki-news-article__h2-wiki-icon {
    display: block;
    width: 1.65rem;
    height: 1.65rem;
    object-fit: contain;
    image-rendering: auto;
}

.wiki-news-article__list {
    margin: 0.35rem 0 1.1rem;
    padding: 0.65rem 0.85rem 0.65rem 1.35rem;
    list-style: none;
    border-radius: 10px;
    border: 1px solid rgba(0, 180, 219, 0.22);
    background: linear-gradient(105deg, rgba(6, 42, 54, 0.55) 0%, rgba(3, 17, 22, 0.45) 100%);
}

.wiki-news-article__li {
    position: relative;
    margin: 0 0 0.45rem;
    padding-left: 0.15rem;
    line-height: 1.62;
    color: rgba(255, 255, 255, 0.9);
}

.wiki-news-article__li:last-child {
    margin-bottom: 0;
}

.wiki-news-article__li::before {
    content: "▸";
    position: absolute;
    left: -1rem;
    color: var(--sushi-yellow);
    font-weight: 700;
}

.wiki-news-article__external-posts {
    margin: 0.35rem 0 1.5rem;
    padding: 1.1rem 1.15rem 1.15rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 215, 0, 0.28);
    background:
        radial-gradient(circle at 100% 0%, rgba(0, 180, 219, 0.12), transparent 42%),
        linear-gradient(145deg, rgba(6, 42, 54, 0.82) 0%, rgba(3, 17, 22, 0.92) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 8px 24px rgba(0, 0, 0, 0.22);
}

.wiki-news-article__external-posts-head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
}

.wiki-news-article__external-posts-head-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 11px;
    border: 1px solid rgba(255, 215, 0, 0.38);
    background: rgba(0, 0, 0, 0.38);
    color: var(--sushi-yellow);
    font-size: 1.15rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.wiki-news-article__external-posts-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sushi-yellow);
    line-height: 1.25;
}

.wiki-news-article__external-posts-intro {
    margin: 0 0 0.95rem;
    color: rgba(255, 255, 255, 0.88);
}

.wiki-news-article__external-post-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wiki-news-article__external-post-item {
    margin: 0;
}

.wiki-news-article__external-post-link {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 3.35rem;
    padding: 0.72rem 0.9rem;
    border-radius: 11px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.24);
    color: #fff;
    text-decoration: none;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.wiki-news-article__external-post-link:hover {
    border-color: rgba(255, 215, 0, 0.42);
    background: rgba(0, 0, 0, 0.34);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
    color: #fff;
}

.wiki-news-article__external-post-link:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.65);
    outline-offset: 2px;
}

.wiki-news-article__external-post-badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    font-size: 0.95rem;
    opacity: 0.88;
}

.wiki-news-article__external-post-badge--youtube {
    color: #ff8a80;
    background: rgba(255, 68, 68, 0.1);
}

.wiki-news-article__external-post-badge--linkedin {
    color: #7eb8ff;
    background: rgba(10, 102, 194, 0.12);
}

.wiki-news-article__external-post-badge--facebook {
    color: #8cb8ff;
    background: rgba(24, 119, 242, 0.12);
}

.wiki-news-article__external-post-badge--x {
    color: #d8dde0;
    background: rgba(255, 255, 255, 0.08);
}

.wiki-news-article__external-post-badge--instagram {
    color: #ff9eb5;
    background: rgba(228, 64, 95, 0.12);
}

.wiki-news-article__external-post-badge--threads {
    color: #ececec;
    background: rgba(255, 255, 255, 0.07);
}

.wiki-news-article__external-post-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.wiki-news-article__external-post-title {
    font-weight: 800;
    font-size: 0.94rem;
    line-height: 1.25;
}

.wiki-news-article__external-post-hint {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.58);
}

.wiki-news-article__external-post-link:hover .wiki-news-article__external-post-hint {
    color: rgba(255, 215, 0, 0.82);
}

.wiki-news-article__external-post-go {
    flex-shrink: 0;
    margin-left: 0.15rem;
    font-size: 0.95rem;
    opacity: 0.45;
    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

.wiki-news-article__external-post-link:hover .wiki-news-article__external-post-go {
    opacity: 0.95;
    transform: translate(2px, -2px);
}

.wiki-news-article__social-panel {
    margin: 0.35rem 0 1.5rem;
    padding: 1rem 1.05rem 1.1rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 180, 219, 0.3);
    background: linear-gradient(
        145deg,
        rgba(6, 42, 54, 0.78) 0%,
        rgba(3, 17, 22, 0.9) 100%
    );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 8px 24px rgba(0, 0, 0, 0.22);
}

.wiki-news-article__social-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.7rem;
    margin: 0;
}

@media (min-width: 540px) {
    .wiki-news-article__social-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 900px) {
    .wiki-news-article__social-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.wiki-news-article__social-btn {
    --social-accent: var(--sushi-yellow);
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 3rem;
    padding: 0.6rem 0.85rem 0.6rem 1rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(180deg, rgba(8, 52, 64, 0.96) 0%, rgba(4, 22, 28, 0.98) 100%);
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.28);
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.25;
    text-decoration: none;
    overflow: hidden;
    transition:
        filter 0.15s ease,
        transform 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.wiki-news-article__social-btn::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--social-accent);
    border-radius: 10px 0 0 10px;
}

.wiki-news-article__social-btn:hover {
    filter: brightness(1.08);
    transform: translateY(-2px);
    border-color: rgba(255, 215, 0, 0.45);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.32);
    color: #fff;
}

.wiki-news-article__social-btn:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.65);
    outline-offset: 2px;
}

.wiki-news-article__social-btn-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--social-accent, var(--sushi-yellow));
    font-size: 1.1rem;
}

.wiki-news-article__social-btn-label {
    flex: 1;
    min-width: 0;
}

.wiki-news-article__social-btn-arrow {
    flex-shrink: 0;
    margin-left: auto;
    opacity: 0.55;
    font-size: 0.95rem;
    line-height: 1;
    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

.wiki-news-article__social-btn:hover .wiki-news-article__social-btn-arrow {
    opacity: 1;
    transform: translate(2px, -2px);
}

.wiki-news-article__social-btn--youtube {
    --social-accent: #ff4444;
}

.wiki-news-article__social-btn--linkedin {
    --social-accent: #0a66c2;
}

.wiki-news-article__social-btn--facebook {
    --social-accent: #1877f2;
}

.wiki-news-article__social-btn--x {
    --social-accent: #e7e9ea;
}

.wiki-news-article__social-btn--instagram {
    --social-accent: #e4405f;
}

.wiki-news-article__social-btn--threads {
    --social-accent: #f5f5f5;
}

.wiki-news-article__social-btn--tiktok {
    --social-accent: #25f4ee;
}

.wiki-news-article__social-links-panel .wiki-news-article__social-panel {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
}

@media (min-width: 900px) {
    .wiki-news-article--update-teaser .wiki-news-article__body {
        max-width: 52rem;
    }
}

/* «On this site: … video page … Media Library» — жёлтая подсветка ссылок */
.wiki-news-article__p--site-links .wiki-news-article__site-link {
    display: inline;
    margin: 0 0.04em;
    padding: 0.1em 0.42em 0.14em;
    border-radius: 0.28em;
    font-weight: 700;
    color: #1a1408;
    text-decoration: none;
    background: linear-gradient(180deg, #fff59d 0%, #ffeb3b 42%, #fdd835 100%);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.18);
}

.wiki-news-article__p--site-links .wiki-news-article__site-link:hover {
    color: #0d0a04;
    background: linear-gradient(180deg, #fffde7 0%, #fff176 45%, #ffeb3b 100%);
}

.wiki-news-article__p--site-links .wiki-news-article__site-link:focus-visible {
    outline: 2px solid #00b4db;
    outline-offset: 2px;
}

/* RTL: wiki/news list + article should read from right edge */
[dir="rtl"] .wiki-news-crumbs,
[dir="rtl"] .wiki-news-page__title,
[dir="rtl"] .wiki-news-page__lead,
[dir="rtl"] .news-card__body,
[dir="rtl"] .news-card__title,
[dir="rtl"] .news-card__excerpt,
[dir="rtl"] .news-card__cta,
[dir="rtl"] .wiki-news-article__header,
[dir="rtl"] .wiki-news-article__lead,
[dir="rtl"] .wiki-news-article__body,
[dir="rtl"] .wiki-news-article__h2,
[dir="rtl"] .wiki-news-article__h3,
[dir="rtl"] .wiki-news-article__p,
[dir="rtl"] .wiki-section-back {
    text-align: center;
}

[dir="rtl"] .wiki-back-to-wiki__icon {
    transform: scaleX(-1);
}

[dir="rtl"] .wiki-news-crumbs {
    direction: rtl;
}

[dir="rtl"] .wiki-news-article__date {
    flex-direction: row-reverse;
}

[dir="rtl"] .news-card__body {
    align-items: flex-end;
}

/* Phones: one card per row (cards are vertical/image-on-top by default now). */
@media (max-width: 640px) {
    .news-list {
        grid-template-columns: 1fr;
    }
}

.site-nav__mobile .site-nav__news-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0;
}

.site-nav__mobile .site-nav__link--news {
    display: inline-flex;
    padding: 0;
}

.site-nav__mobile .site-nav__badge-new {
    position: static;
    transform: none;
    margin: 0;
    vertical-align: baseline;
    pointer-events: auto;
}

.site-nav__toggle {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0.5rem;
    background: transparent;
    border: none;
    cursor: pointer;
    color: #fff;
}

.site-nav__toggle-bar {
    width: 24px;
    height: 3px;
    background: currentColor;
    border-radius: 2px;
}

.site-nav__mobile {
    padding: 0 1rem 1rem;
    border-top: 1px solid var(--sushi-border);
}

.site-nav__mobile a {
    display: block;
    padding: 0.75rem 0;
    text-decoration: none;
    color: var(--sushi-muted);
    font-weight: 500;
}

.site-nav__mobile a:hover {
    color: var(--sushi-yellow);
}

/* Desktop horizontal nav only from 1024px — tablets use hamburger + mobile menu */
@media (min-width: 1024px) {
    .site-nav__links {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        row-gap: 0.5rem;
    }

    .site-nav__toggle {
        display: none;
    }

    .site-nav__mobile {
        display: none !important;
    }

    /* Если desktop-меню переносится в 2 ряда, принудительно включаем mobile-nav */
    .site-nav.site-nav--force-mobile .site-nav__links {
        display: none !important;
    }

    .site-nav.site-nav--force-mobile .site-nav__toggle {
        display: flex !important;
    }

    .site-nav.site-nav--force-mobile .site-nav__mobile {
        display: block !important;
    }

    .site-nav.site-nav--force-mobile .site-nav__mobile.hidden {
        display: none !important;
    }
}

.site-nav__tools {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
}

/* На телефонах и при force-mobile: в шапке только бургер, язык и вход — в mobile-menu */
@media (max-width: 767px) {
    .site-nav__brand {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 1.25rem;
    }

    .site-nav__tools > .account-tools,
    .site-nav__tools > .lang-switcher-slot[data-lang-switcher-slot="nav"] {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .site-nav__brand {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 1.25rem;
    }
}

.site-nav.site-nav--force-mobile .site-nav__tools > .account-tools,
.site-nav.site-nav--force-mobile .site-nav__tools > .lang-switcher-slot[data-lang-switcher-slot="nav"] {
    display: none !important;
}

.site-nav__mobile-tools {
    margin-top: 0.35rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--sushi-border);
}

.site-nav__mobile-tools-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
}

.site-nav__mobile-tools [data-lang-switcher-slot="mobile"]:not(:empty) {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

.site-nav__mobile-tools [data-lang-switcher-slot="mobile"]:empty {
    display: none;
}

.site-nav__mobile-tools-row:has([data-lang-switcher-slot="mobile"]:empty) {
    justify-content: flex-end;
}

.site-nav__mobile-auth-slot {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.site-nav__mobile-tools .lang-switcher {
    width: auto;
    max-width: 100%;
}

.site-nav__mobile-tools .lang-switcher__trigger {
    width: auto;
    max-width: 100%;
}

.site-nav__mobile-tools .lang-switcher__list {
    left: 0;
    right: auto;
    width: min(16rem, calc(100vw - 2rem));
    min-width: 0;
    max-width: none;
    padding: 0.42rem 0.65rem;
}

.site-nav__mobile-tools .lang-switcher__opt-flag {
    min-width: 1.4rem;
    padding-inline: 0.12rem;
}

/* Перебивает .site-nav[dir="ltr"] .lang-switcher__list { right: 0 } — иначе список уезжает влево за экран */
.site-nav[dir="ltr"] .site-nav__mobile-tools .lang-switcher__list {
    left: 0;
    right: auto;
}

[dir="rtl"] .site-nav__mobile-tools .lang-switcher__list,
html[dir="rtl"] .site-nav__mobile-tools .lang-switcher__list {
    left: auto;
    right: 0;
}

.site-nav__mobile-tools .btn--nav-auth {
    display: inline-flex;
    width: auto;
    padding: 0.52rem 0.95rem;
    font-size: 0.8125rem;
    color: #fff;
    text-decoration: none;
}

.site-nav__mobile-tools .btn--nav-auth span {
    max-width: 5.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 768px) {
    .site-nav:not(.site-nav--force-mobile) .site-nav__mobile-tools {
        display: none;
    }
}

/* Language switcher (devilcrushers-style: gold border, dark panel, scrollable list) */
.lang-switcher {
    position: relative;
    z-index: 110;
}

.lang-switcher__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.42rem 0.6rem;
    margin: 0;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--sushi-yellow);
    background: rgba(4, 20, 28, 0.85);
    border: 1px solid rgba(255, 215, 0, 0.45);
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.lang-switcher__trigger:hover {
    border-color: rgba(255, 215, 0, 0.65);
    background: rgba(6, 42, 54, 0.95);
}

/* Флаги: как devil-crushers — Noto Color Emoji подгружается с Google Fonts в <head>, иначе Windows/Opera показывают «битые» флаги */
.lang-switcher__flag {
    font-family: "Noto Color Emoji", "Segoe UI Emoji", "Apple Color Emoji", "Twemoji Mozilla", emoji, sans-serif;
    font-size: 1.1rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    unicode-bidi: isolate;
}

.lang-switcher__label {
    font-family: var(--font);
    max-width: 7.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lang-switcher__caret {
    display: block;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid var(--sushi-yellow);
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.lang-switcher__trigger[aria-expanded="true"] .lang-switcher__caret {
    transform: rotate(180deg);
}

.lang-switcher__list {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: min(16rem, calc(100vw - 2rem));
    max-height: min(70vh, 22rem);
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: auto;
    margin: 0;
    padding: 0.35rem 0;
    list-style: none;
    background: rgba(4, 18, 24, 0.98);
    border: 1px solid rgba(255, 215, 0, 0.42);
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 215, 0, 0.35) rgba(0, 0, 0, 0.2);
}

.lang-switcher__list::-webkit-scrollbar {
    width: 8px;
}

.lang-switcher__list::-webkit-scrollbar-thumb {
    background: rgba(255, 215, 0, 0.28);
    border-radius: 8px;
}

[dir="rtl"] .lang-switcher__list {
    right: auto;
    left: 0;
}

.site-nav[dir="ltr"] .lang-switcher__list {
    right: 0;
    left: auto;
}

.lang-switcher__item {
    margin: 0;
}

.lang-switcher__option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.35rem;
    padding: 0.42rem 0.85rem;
    font-size: 0.9rem;
    line-height: 1.2;
    font-weight: 500;
    color: rgba(232, 244, 248, 0.92);
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.lang-switcher__option:hover,
.lang-switcher__option:focus-visible {
    background: rgba(0, 180, 219, 0.12);
    color: #fff;
    outline: none;
}

.lang-switcher__option.is-active {
    color: var(--sushi-yellow);
    font-weight: 700;
    background: rgba(255, 215, 0, 0.08);
}

.lang-switcher__opt-flag {
    font-family: "Noto Color Emoji", "Segoe UI Emoji", "Apple Color Emoji", "Twemoji Mozilla", emoji, sans-serif;
    font-size: 1.15rem;
    line-height: 1;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    unicode-bidi: isolate;
}

.lang-switcher__opt-label {
    font-family: var(--font);
    flex: 1;
    min-width: 0;
    line-height: 1.2;
    white-space: nowrap;
}

@media (max-width: 1023px) {
    .lang-switcher__label {
        max-width: 5.5rem;
    }
}

/* Hero */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6rem 1rem 4rem;
    overflow: hidden;
    border-bottom: 3px solid var(--sushi-cyan);
    box-shadow: 0 8px 32px rgba(0, 180, 219, 0.15);
    background: #065a6e;
    isolation: isolate;
}

/* Постер до загрузки видео; при отказе видео остаётся на фоне */
.hero__poster {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #065a6e url("/Decor/sushi-diver-banner.jpg") center center / cover no-repeat;
    pointer-events: none;
    transition: opacity 1.15s ease;
}

.hero.hero--video-on.hero--video-ready .hero__poster {
    opacity: 0;
}

.hero__video-shell {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.15s ease;
}

.hero.hero--video-on.hero--video-ready .hero__video-shell {
    opacity: 1;
}

.hero__video-shell iframe,
.hero__iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 177.78vh;
    height: 100vh;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    border: 0;
    pointer-events: none;
}

.hero__video-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(6, 42, 54, 0.42) 0%, rgba(6, 26, 36, 0.62) 100%);
    opacity: 1;
    pointer-events: none;
    transition: background 1s ease;
}

/* Сильнее затемняем поверх видео после перехода с постера */
.hero.hero--video-on.hero--video-ready .hero__video-overlay {
    background: linear-gradient(180deg, rgba(6, 42, 54, 0.58) 0%, rgba(6, 26, 36, 0.82) 100%);
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    background:
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(255, 255, 255, 0.12), transparent 50%),
        linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
    background-size: 100% 100%, 112px 112px, 112px 112px;
    background-repeat: no-repeat, repeat, repeat;
    background-position: 0 0, 0 0, 0 0;
    opacity: 0.35;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .hero__video-shell,
    .hero__video-overlay {
        display: none !important;
    }

    .hero__poster {
        transition: none;
    }

    .hero::before {
        opacity: 0.5;
    }
}

.hero__content {
    position: relative;
    z-index: 4;
    text-align: center;
}

.hero__title {
    margin: 0 0 0.75rem;
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    font-weight: 800;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.hero__tagline {
    margin: 0 0 2rem;
    font-size: clamp(1.1rem, 2.5vw, 1.5rem);
    color: var(--sushi-muted);
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.875rem 1.75rem;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 12px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    font-family: inherit;
}

.btn__icon {
    flex-shrink: 0;
}

.btn--primary {
    background: linear-gradient(135deg, #3b9eff 0%, #1565c0 100%);
    color: #fff;
    box-shadow: 0 6px 24px rgba(59, 158, 255, 0.4);
}

.btn--primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(59, 158, 255, 0.55);
    border-color: rgba(255, 255, 255, 0.35);
}

.btn--lg {
    padding: 1rem 2rem;
    font-size: 1.1rem;
}

/* Sections */
.section {
    padding: 4rem 0;
    border-top: 1px solid var(--sushi-border);
    box-shadow: 0 -4px 16px rgba(0, 180, 219, 0.08);
}

.section__lead {
    text-align: center;
    margin: -1.5rem 0 2rem;
    color: var(--sushi-muted);
    font-size: 1rem;
}

.section--reviews {
    /* Как .section--events: один «тёмный пояс» по странице */
    background: linear-gradient(180deg, var(--sushi-deep) 0%, #072530 100%);
    overflow-x: clip;
}

/* Review slide cards */
.review-slide-card {
    text-align: start;
    min-width: 0;
    margin: 0;
    padding: 1.5rem 1.35rem;
    border-radius: 12px;
    background: linear-gradient(155deg, rgba(0, 180, 219, 0.1), rgba(8, 52, 64, 0.72));
    border: 1px solid rgba(255, 215, 0, 0.22);
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}

/* Изоляция bidi/flex на RTL-странице (как landing-review-card в devil-crushers) */
.review-slide-card[dir="ltr"] {
    unicode-bidi: isolate;
}

.review-slide-card__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.review-slide-card__author {
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    min-width: 0;
}

.review-slide-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 215, 0, 0.35);
    background: linear-gradient(145deg, rgba(0, 0, 0, 0.45), rgba(6, 42, 54, 0.5));
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 235, 180, 0.95);
}

.review-slide-card__flag {
    font-family: var(--font-emoji);
    font-size: 1rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
    unicode-bidi: isolate;
}

.review-slide-card__code {
    line-height: 1;
}

.review-slide-card__stars {
    margin: 0 0 0.85rem;
    letter-spacing: 0.12em;
    color: var(--sushi-yellow);
    font-size: 1.05rem;
    line-height: 1;
}

.review-slide-card__text {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--sushi-muted);
}

/* Карусель: JS (translate3d) и порядок flex рассчитаны на LTR; при dir=rtl на <html> трек зеркалится — слайд «уезжает» */
[dir="rtl"] .reviews-carousel {
    direction: ltr;
}
[dir="rtl"] .reviews-carousel-slide {
    direction: ltr;
}
[dir="rtl"] .review-slide-card {
    direction: ltr;
}
.review-slide-card__text[dir="rtl"],
[dir="rtl"] .review-slide-card__text {
    direction: rtl;
    unicode-bidi: isolate;
    text-align: start;
}
[dir="rtl"] .reviews-carousel-slide .review-slide-card__stars {
    text-align: end;
}

/* Reviews carousel: full-bleed track, edge dimming, arrows over slides */
.reviews-carousel {
    position: relative;
    width: 100%;
    min-width: 0;
    padding: 0;
}

.reviews-carousel--bleed {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.reviews-carousel-viewport {
    overflow: hidden;
    width: 100%;
    min-width: 0;
    position: relative;
}

.reviews-carousel-track {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
    .reviews-carousel-track {
        transition: none;
    }
}

.reviews-carousel-slide {
    min-width: 0;
    box-sizing: border-box;
    padding: 0 3px;
    position: relative;
    z-index: 0;
    transition: z-index 0s linear 0.2s;
}

.reviews-carousel-slide.is-active {
    z-index: 2;
}

.reviews-carousel-slide .review-slide-card {
    width: 100%;
    max-width: 100%;
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.4s ease,
        border-color 0.4s ease;
}

.reviews-carousel-slide.is-active .review-slide-card {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    border-color: rgba(255, 215, 0, 0.45);
}

.reviews-carousel-slide.is-adjacent .review-slide-card {
    opacity: 0.78;
    transform: scale(0.99);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.reviews-carousel-slide:not(.is-active):not(.is-adjacent) .review-slide-card {
    opacity: 0.42;
    transform: scale(0.97);
}

@media (prefers-reduced-motion: reduce) {
    .reviews-carousel-slide .review-slide-card {
        transition: opacity 0.2s ease;
    }

    .reviews-carousel-slide:not(.is-active) .review-slide-card {
        transform: none;
    }
}

.reviews-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 12;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 215, 0, 0.5);
    background: rgba(4, 20, 28, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--sushi-yellow);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    padding: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
}

.reviews-carousel-prev {
    left: max(0.5rem, env(safe-area-inset-left, 0px));
}

.reviews-carousel-next {
    right: max(0.5rem, env(safe-area-inset-right, 0px));
}

@media (max-width: 639px) {
    .reviews-carousel-btn {
        width: 2.45rem;
        height: 2.45rem;
    }

    .reviews-carousel-prev {
        left: max(0.35rem, env(safe-area-inset-left, 0px));
    }

    .reviews-carousel-next {
        right: max(0.35rem, env(safe-area-inset-right, 0px));
    }
}

.reviews-carousel-btn:hover {
    background: rgba(0, 180, 219, 0.22);
    border-color: rgba(255, 215, 0, 0.65);
    transform: translateY(-50%) scale(1.06);
}

.reviews-carousel-btn:focus-visible {
    outline: 2px solid var(--sushi-yellow);
    outline-offset: 2px;
    transform: translateY(-50%);
}

@media (prefers-reduced-motion: reduce) {
    .reviews-carousel-btn:hover {
        transform: translateY(-50%);
    }
}

.reviews-carousel-dots {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.25rem;
    padding: 0 max(1rem, env(safe-area-inset-left, 0px)) 0 max(1rem, env(safe-area-inset-right, 0px));
}

.reviews-carousel-dot {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.22);
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

.reviews-carousel-dot.is-active {
    background: var(--sushi-yellow);
    transform: scale(1.25);
}

.reviews-carousel-dot:focus-visible {
    outline: 2px solid var(--sushi-yellow);
    outline-offset: 2px;
}

.section--shots {
    /* Как .section--events */
    background: linear-gradient(180deg, var(--sushi-deep) 0%, #072530 100%);
}

.section--features {
    background: linear-gradient(180deg, #083844 0%, #062a33 100%);
}

/* Тот же фон, что у Key Features: градиент как у .section--features */
.section--gameplay {
    background: linear-gradient(180deg, #083844 0%, #062a33 100%);
}

.gameplay-video {
    max-width: 56rem;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--sushi-border);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    aspect-ratio: 16 / 9;
    background: #000;
}

.gameplay-video__iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

.section--events {
    background: linear-gradient(180deg, var(--sushi-deep) 0%, #072530 100%);
}

.section--about {
    background: linear-gradient(180deg, #062a33 0%, var(--sushi-deep) 100%);
    padding-bottom: 1.5rem;
}

.section__title {
    margin: 0 0 2.5rem;
    font-size: clamp(1.75rem, 4vw, 2rem);
    font-weight: 800;
    text-align: center;
    color: #fff;
}

/* Carousel */
.carousel-wrap {
    margin: 0 -1rem;
}

@media (min-width: 768px) {
    .carousel-wrap {
        margin: 0;
    }
}

.carousel {
    display: flex;
    gap: 2rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding: 2rem calc(50px + 1rem);
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.carousel::-webkit-scrollbar {
    display: none;
}

.screenshot-card {
    flex: 0 0 auto;
    width: min(88vw, 720px);
    aspect-ratio: 16 / 9;
    height: auto;
    padding: 0;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    background: var(--sushi-card);
    border: 1px solid var(--sushi-border);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.screenshot-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.screenshot-card:hover {
    transform: scale(1.04);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}

@media (max-width: 1023px) {
    .screenshot-card {
        width: min(90vw, 560px);
    }

    .carousel {
        padding: 2.5rem 1.5rem 2.5rem 3.75rem;
        gap: 1.5rem;
    }
}

.carousel-indicators {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
}

@media (min-width: 769px) {
    .carousel-indicators {
        display: none;
    }
}

.carousel-indicators button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background: rgba(255, 255, 255, 0.25);
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease;
}

.carousel-indicators button.is-active {
    background: var(--sushi-yellow);
    transform: scale(1.15);
}

/* Feature grid */
.feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 600px) {
    .feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Last lone card in 2-col layout: center like first column width */
    .feature-grid .feature-card:nth-child(9) {
        grid-column: 1 / -1;
        justify-self: center;
        width: calc((100% - 1rem) / 2);
        max-width: 100%;
    }
}

@media (min-width: 1024px) {
    .feature-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .feature-grid .feature-card:nth-child(9) {
        grid-column: auto;
        justify-self: stretch;
        width: auto;
        max-width: none;
    }
}

.feature-card {
    padding: 1.5rem 1.25rem;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.12), rgba(6, 42, 54, 0.5));
    border: 1px solid rgba(255, 215, 0, 0.12);
    backdrop-filter: blur(8px);
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.feature-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 215, 0, 0.35);
    box-shadow: 0 8px 28px rgba(0, 180, 219, 0.15);
}

.feature-card__title {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 0.75rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
}

.feature-card__emoji {
    font-family: var(--font-emoji);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 3.35rem;
    height: 3.35rem;
    padding: 0;
    font-size: 1.85rem;
    line-height: 1;
    unicode-bidi: isolate;
    background: linear-gradient(145deg, rgba(0, 200, 235, 0.42), rgba(6, 42, 54, 0.72));
    border: 1px solid rgba(255, 215, 0, 0.45);
    border-radius: 12px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 0 0 1px rgba(0, 212, 255, 0.15),
        0 0 14px rgba(0, 212, 255, 0.55),
        0 0 28px rgba(0, 180, 219, 0.28),
        0 4px 12px rgba(0, 0, 0, 0.35);
    text-shadow:
        0 0 10px rgba(0, 230, 255, 0.65),
        0 0 20px rgba(0, 180, 219, 0.4),
        0 0 2px rgba(255, 235, 150, 0.5);
}

.feature-card__title-text {
    flex: 1;
    min-width: 0;
}

.feature-card__text {
    margin: 0;
    color: var(--sushi-muted);
    line-height: 1.55;
    font-size: 0.95rem;
}

/* Events — те же карточные хром, что у feature-grid; на широких экранах 2×2, не четыре узкие колонки */
.event-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    max-width: 56rem;
    margin-inline: auto;
}

@media (min-width: 640px) {
    .event-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

.event-item {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
    text-align: start;
    padding: 1.35rem 1.35rem 1.4rem;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.1), rgba(6, 42, 54, 0.52));
    border: 1px solid rgba(255, 215, 0, 0.14);
    backdrop-filter: blur(8px);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    height: 100%;
    min-width: 0;
}

.event-item__body {
    flex: 1;
    min-width: 0;
}

.event-item:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 215, 0, 0.32);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

.event-item__icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(165deg, rgba(12, 62, 78, 0.95), rgba(4, 18, 26, 0.98));
    border: 1px solid rgba(0, 180, 219, 0.42);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 4px 16px rgba(0, 0, 0, 0.35);
}

.event-item:hover .event-item__icon {
    border-color: rgba(0, 180, 219, 0.62);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 4px 20px rgba(0, 180, 219, 0.12);
}

.event-item__emoji {
    font-family: var(--font-emoji);
    font-size: 1.65rem;
    line-height: 1;
    display: block;
}

.event-item__title {
    margin: 0 0 0.55rem;
    font-size: 1.08rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

.event-item__text {
    margin: 0;
    font-size: 0.92rem;
    color: var(--sushi-muted);
    line-height: 1.55;
}

/* About */
.about-card {
    padding: 2rem;
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.1), rgba(6, 42, 54, 0.55));
    border: 1px solid var(--sushi-border);
}

.about-card__p {
    margin: 0 0 1.25rem;
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--sushi-muted);
    text-align: left;
}

.about-card__p:last-of-type {
    margin-bottom: 0;
}

.text-accent {
    color: var(--sushi-yellow);
}

.about-card__cta {
    margin-top: 2rem;
    text-align: center;
}

/* Footer */
.site-footer {
    padding: 0.875rem 1rem 2.25rem;
    background: linear-gradient(135deg, #06242e 0%, #041820 100%);
    border-top: 3px solid var(--sushi-cyan);
    box-shadow: 0 -4px 20px rgba(0, 180, 219, 0.12);
}

.site-footer__store-social {
    padding-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.site-footer__store-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

.site-footer__store-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1rem;
    border-radius: 0.5rem;
    background: rgba(0, 0, 0, 0.38);
    border: 1px solid rgba(255, 215, 0, 0.45);
    color: var(--sushi-yellow);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition:
        color 0.15s ease,
        border-color 0.15s ease,
        background 0.15s ease,
        box-shadow 0.15s ease;
}

.site-footer__store-btn:hover {
    color: #fff3a3;
    border-color: rgba(255, 236, 150, 0.75);
    background: rgba(255, 215, 0, 0.1);
    box-shadow: 0 0 12px rgba(255, 215, 0, 0.2);
}

.site-footer__store-btn:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.85);
    outline-offset: 2px;
}

.site-footer__store-icon {
    flex-shrink: 0;
    pointer-events: none;
}

.site-footer__store-icon--uptodown {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-block: 1px;
    background-color: currentColor;
    -webkit-mask-image: var(--footer-uptodown-mask, url("/Decor/uptodown-footer-icon.png"));
    mask-image: var(--footer-uptodown-mask, url("/Decor/uptodown-footer-icon.png"));
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.site-footer__store-label {
    line-height: 1;
    white-space: nowrap;
}

.site-footer__social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin: 0.65rem 0 0.55rem;
    padding: 0;
    list-style: none;
}

.site-footer__social-item {
    margin: 0;
    padding: 0;
}

.site-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem;
    border-radius: 0.35rem;
    color: var(--sushi-yellow);
    text-decoration: none;
    transition:
        color 0.15s ease,
        opacity 0.15s ease,
        filter 0.15s ease;
}

.site-footer__social-link:hover {
    color: #fff3a3;
    opacity: 1;
    filter: drop-shadow(0 0 6px rgba(255, 215, 0, 0.45));
}

.site-footer__social-link:focus-visible {
    outline: 2px solid rgba(255, 215, 0, 0.85);
    outline-offset: 2px;
}

.site-footer__social-icon {
    font-size: 1.25rem;
    line-height: 1;
    /* Иначе клик может «дублироваться» (иконка + ссылка) и открывать вкладку дважды */
    pointer-events: none;
}

.site-footer__gold-line {
    height: 1px;
    margin-top: 0.25rem;
    background: linear-gradient(90deg, transparent, rgba(0, 180, 219, 0.35), transparent);
}

.site-footer__gold-line--copy {
    margin-top: 0;
    margin-bottom: 1rem;
}

.site-footer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: center;
    margin-top: 0.75rem;
}

@media (min-width: 768px) {
    .site-footer__inner {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 2rem;
        text-align: left;
    }
}

.site-footer__title {
    margin: 0 0 0.35rem;
    font-size: 1.5rem;
    color: #fff;
}

.site-footer__sub {
    margin: 0;
    color: var(--sushi-muted);
    font-size: 0.95rem;
}

.site-footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

.site-footer__links a {
    color: var(--sushi-muted);
    text-decoration: none;
    font-size: 0.95rem;
}

.site-footer__links a:hover {
    color: var(--sushi-yellow);
}

.site-footer__copy {
    margin: 1.5rem 0 0;
    padding-top: 0;
    border-top: none;
    text-align: center;
}

.site-footer__copy p {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(158, 200, 212, 0.65);
}

.site-footer__copy a {
    color: rgba(0, 180, 219, 0.55);
    text-decoration: none;
}

.site-footer__copy a:hover {
    color: rgba(0, 212, 255, 0.85);
}

/* Modal */
.modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right))
        max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    overflow: auto;
    overscroll-behavior: contain;
}

.modal.hidden {
    display: none;
}

.modal:not(.hidden) {
    display: flex;
}

.modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.88);
}

.modal__box {
    position: relative;
    z-index: 1;
    margin: auto;
    max-width: min(96vw, 1200px);
    max-height: min(90vh, 900px);
}

.modal__img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: min(85vh, 810px);
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}

.modal__close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 2;
    box-sizing: border-box;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.modal__close:hover {
    color: var(--sushi-yellow);
}

/* Legal pages */
.legal-page {
    padding: calc(var(--site-nav-height) + 1.15rem) 1rem 4rem;
    min-height: 100vh;
}

.legal-page__title {
    text-align: center;
    font-size: 2rem;
    font-weight: 800;
    color: var(--sushi-yellow);
    margin: 0 0 2rem;
}

.legal-glass {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem;
    border-radius: 16px;
    background: rgba(6, 42, 54, 0.55);
    border: 1px solid var(--sushi-border);
    backdrop-filter: blur(10px);
}

.legal-glass h2 {
    margin: 0.875rem 0 0.5rem;
    font-size: 1.35rem;
    color: #fff;
}

/* Разделитель между логическими секциями: заголовок после текста/списка предыдущего блока */
.legal-glass p + h2,
.legal-glass ul + h2 {
    margin-top: 1.75rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 180, 219, 0.22);
}

.legal-glass p,
.legal-glass li {
    color: var(--sushi-muted);
    line-height: 1.6;
}

.legal-glass p {
    margin: 0.5rem 0;
}

.legal-glass h2 + p {
    margin-top: 0;
}

.legal-glass h2 + ul {
    margin-top: 0;
}

.legal-glass ul {
    margin: 0.5rem 0;
    padding-left: 1.25rem;
}

.legal-glass a {
    color: var(--sushi-yellow);
}

.legal-glass a:hover {
    text-decoration: underline;
}

.legal-glass h2:first-of-type {
    margin-top: 0;
}

.legal-glass .legal-binding-note {
    margin-top: 0.5rem;
    margin-bottom: 0;
    padding-top: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: rgba(158, 200, 212, 0.72);
}

.legal-glass .legal-binding-note__link {
    color: var(--sushi-yellow);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-glass .legal-binding-note__link:hover {
    color: #fff3a3;
}

.legal-glass .legal-meta {
    margin-top: 2rem;
    margin-bottom: 0;
    padding-top: 1.5rem;
    border-top: 1px solid var(--sushi-border);
    text-align: center;
    font-size: 0.875rem;
    color: rgba(158, 200, 212, 0.6);
}

.legal-contact {
    margin-top: 0.5rem;
    padding: 0.625rem 0.75rem;
    border-radius: 8px;
    background: rgba(0, 180, 219, 0.08);
    border: 1px solid var(--sushi-border);
}

.legal-contact p {
    margin: 0;
    line-height: 1.45;
}

.legal-back {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--sushi-muted);
    font-weight: 500;
}

.legal-back:hover {
    color: var(--sushi-yellow);
}

/* Wiki hub and media pages */
.wiki-hub-page .wiki-news-page__inner {
    max-width: 72rem;
}

.wiki-hub-sections {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
    margin-top: 2rem;
}

.wiki-hub-section {
    position: relative;
    padding: clamp(1.1rem, 2.5vw, 1.55rem);
    border: 1px solid rgba(255, 215, 0, 0.28);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(6, 42, 54, 0.35) 0%, rgba(3, 17, 22, 0.88) 100%),
        rgba(3, 17, 22, 0.72);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 14px 30px rgba(0, 0, 0, 0.28);
    overflow: visible;
}

.wiki-hub-section--catalog {
    border-color: rgba(255, 215, 0, 0.42);
    background:
        linear-gradient(180deg, rgba(6, 42, 54, 0.42) 0%, rgba(3, 17, 22, 0.92) 100%),
        radial-gradient(ellipse 90% 55% at 50% 0%, rgba(0, 180, 219, 0.1), transparent 62%),
        rgba(3, 17, 22, 0.78);
}

.wiki-hub-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.75rem;
}

.wiki-hub-section__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.2rem, 2.4vw, 1.55rem);
    font-weight: 900;
    line-height: 1.15;
}

.wiki-hub-section__title--gold {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: clamp(1.35rem, 2.8vw, 1.85rem);
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: linear-gradient(
        180deg,
        var(--wiki-news-title-top) 0%,
        var(--wiki-news-title-mid) 30%,
        #ecc22f 58%,
        var(--wiki-news-gold) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.wiki-hub-section__beta-corner {
    position: absolute;
    top: 0.55rem;
    right: 0;
    z-index: 2;
    display: inline-block;
    padding: 0.18rem 0.42rem;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.15;
    color: #fff;
    background: linear-gradient(160deg, #42a5f5, #1565c0);
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(0, 0, 0, 0.2) inset;
    transform: rotate(12deg);
    transform-origin: 100% 0;
    pointer-events: none;
}

.wiki-hub-section__badge-beta {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.48rem;
    border-radius: 999px;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background: linear-gradient(160deg, #42a5f5, #1565c0);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 0 10px rgba(66, 165, 245, 0.28);
}

.wiki-hub-section__lead {
    margin: 0.55rem 0 1rem;
    max-width: 54rem;
    color: var(--sushi-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

.wiki-hub-grid,
.media-list {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 760px) {
    .wiki-hub-grid,
    .media-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1080px) {
    .wiki-hub-grid--catalog {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.wiki-hub-catalog-chart {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 0.95rem;
    align-items: stretch;
}

.wiki-hub-catalog-chart__ruler {
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    justify-items: center;
    gap: 0.35rem;
    min-height: 100%;
    padding: 0.15rem 0;
}

.wiki-hub-catalog-chart__ruler-label {
    color: rgba(202, 225, 231, 0.72);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.wiki-hub-catalog-chart__ruler-track {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    min-height: 100%;
}

.wiki-hub-catalog-chart__ruler-line {
    display: block;
    width: 0.24rem;
    height: 100%;
    min-height: 100%;
    border-radius: 999px;
    background: linear-gradient(
        180deg,
        rgba(118, 220, 142, 0.95) 0%,
        rgba(88, 214, 232, 0.9) 48%,
        rgba(38, 118, 168, 0.88) 100%
    );
    box-shadow:
        0 0 12px rgba(64, 196, 220, 0.22),
        inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.wiki-hub-catalog-chart__marks {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.wiki-hub-catalog-chart__mark {
    position: absolute;
    left: 50%;
    top: var(--mark-pct);
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: rgba(202, 225, 231, 0.55);
    box-shadow: 0 0 0 2px rgba(4, 20, 28, 0.92);
    transform: translate(-50%, -50%);
    transition:
        transform 0.16s ease,
        background 0.16s ease,
        box-shadow 0.16s ease;
}

.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(1):hover) .wiki-hub-catalog-chart__mark:nth-child(1),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(2):hover) .wiki-hub-catalog-chart__mark:nth-child(2),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(3):hover) .wiki-hub-catalog-chart__mark:nth-child(3),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(4):hover) .wiki-hub-catalog-chart__mark:nth-child(4),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(5):hover) .wiki-hub-catalog-chart__mark:nth-child(5),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(6):hover) .wiki-hub-catalog-chart__mark:nth-child(6),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(7):hover) .wiki-hub-catalog-chart__mark:nth-child(7),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(8):hover) .wiki-hub-catalog-chart__mark:nth-child(8),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(9):hover) .wiki-hub-catalog-chart__mark:nth-child(9),
.wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(10):hover) .wiki-hub-catalog-chart__mark:nth-child(10) {
    background: var(--sushi-yellow);
    box-shadow:
        0 0 0 2px rgba(4, 20, 28, 0.92),
        0 0 12px rgba(255, 215, 0, 0.45);
    transform: translate(-50%, -50%) scale(1.35);
}

.wiki-hub-catalog-chart__ruler-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    color: #0b1f28;
    font-size: 1.05rem;
    background: linear-gradient(180deg, #ffe566 0%, #f0ca4a 55%, #c99a12 100%);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.28),
        0 0 14px rgba(255, 215, 0, 0.22);
}

.wiki-hub-catalog-chart__body {
    min-width: 0;
}

.wiki-hub-card,
.media-card {
    display: flex;
    min-height: 100%;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid var(--sushi-border);
    background: rgba(6, 42, 54, 0.55);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
    transition:
        transform 0.16s ease,
        border-color 0.16s ease,
        background 0.16s ease,
        box-shadow 0.16s ease;
}

.wiki-hub-card:hover,
.media-card:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 215, 0, 0.55);
    background: rgba(8, 55, 70, 0.68);
}

.wiki-hub-card {
    --hub-light: 52%;
    --hub-depth-pct: 0;
    position: relative;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    height: 100%;
    min-height: 0;
    padding: 0 0 0.95rem;
    background: linear-gradient(
        180deg,
        rgba(4, 20, 28, 0.82) 0%,
        rgba(4, 20, 28, 0.58) 100%
    );
}

.wiki-hub-card--vertical:hover {
    background: linear-gradient(
        180deg,
        rgba(8, 32, 42, 0.9) 0%,
        rgba(6, 42, 54, 0.62) 100%
    );
}

.wiki-hub-card__strip {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0.34rem;
    background: linear-gradient(
        180deg,
        hsl(var(--hub-hue), 82%, calc(var(--hub-light) + 10%)) 0%,
        hsl(var(--hub-hue), 78%, var(--hub-light)) 100%
    );
    box-shadow: 0 0 14px hsla(var(--hub-hue), 80%, 55%, 0.32);
}

.wiki-hub-card:hover {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 14px 30px rgba(0, 0, 0, 0.3);
}

.wiki-hub-card__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
}

.wiki-hub-card__inline-beta {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.38rem;
    border-radius: 999px;
    color: #fff;
    font-size: 0.56rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: linear-gradient(160deg, #42a5f5, #1565c0);
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.wiki-hub-card__thumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 7.5rem;
    min-height: 7.5rem;
    margin-left: 0.34rem;
    padding: 0.65rem 0.85rem;
    overflow: hidden;
    background: radial-gradient(
        circle at 50% 42%,
        hsla(var(--hub-hue), 70%, 55%, 0.14) 0%,
        rgba(0, 0, 0, 0.2) 62%
    );
}

.wiki-hub-card--depth .wiki-hub-card__thumb {
    background: radial-gradient(
        circle at 50% calc(28% + var(--hub-depth-pct) * 0.22%),
        hsla(var(--hub-hue), 70%, var(--hub-light), 0.18) 0%,
        rgba(0, 0, 0, 0.26) 68%
    );
}

.wiki-hub-card__thumb--duo {
    gap: 0.45rem;
}

.wiki-hub-card__img--duo {
    max-width: 42%;
    max-height: 4.85rem;
}

.wiki-hub-card__depth {
    position: absolute;
    right: 0.55rem;
    bottom: 0.45rem;
    z-index: 2;
    padding: 0.14rem 0.42rem;
    border-radius: 999px;
    color: rgba(202, 225, 231, 0.92);
    font-size: 0.58rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: rgba(4, 20, 28, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.wiki-hub-card__thumb--icon {
    color: hsl(var(--hub-hue), 78%, 62%);
    font-size: 2.35rem;
}

.wiki-hub-card__img {
    display: block;
    width: auto;
    height: auto;
    max-width: 78%;
    max-height: 5.75rem;
    object-fit: contain;
    transition: transform 0.2s ease;
}

.wiki-hub-card__thumb--preview-large .wiki-hub-card__img {
    max-width: 96%;
    max-height: 6.85rem;
    transform: translateX(0.65rem) scale(2);
    transform-origin: center center;
}

.wiki-hub-card__thumb--preview-fish {
    align-items: flex-start;
    padding-top: 0;
}

.wiki-hub-card__thumb--preview-fish .wiki-hub-card__img {
    transform: translateX(0.65rem) translateY(-3.5rem) scale(2);
    transform-origin: center top;
}

.wiki-hub-card:hover .wiki-hub-card__thumb--preview-large .wiki-hub-card__img {
    transform: translateX(0.65rem) scale(2.08);
}

.wiki-hub-card:hover .wiki-hub-card__thumb--preview-fish .wiki-hub-card__img {
    transform: translateX(0.65rem) translateY(-3.5rem) scale(2.08);
}

.wiki-hub-card__thumb--preview-reward-chests .wiki-hub-card__img {
    transform: scale(1.5);
    transform-origin: center center;
}

.wiki-hub-card:hover .wiki-hub-card__thumb--preview-reward-chests .wiki-hub-card__img {
    transform: scale(1.605);
}

.wiki-hub-card__thumb--preview-dishes .wiki-hub-card__img {
    transform: translateY(0.4rem);
    transform-origin: center center;
}

.wiki-hub-card:hover .wiki-hub-card__thumb--preview-dishes .wiki-hub-card__img {
    transform: translateY(0.4rem) scale(1.07);
}

.wiki-hub-card__thumb--banner .wiki-hub-card__img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center 32%;
}

.wiki-hub-card__thumb--banner-logo .wiki-hub-card__img {
    object-position: center top;
}

.wiki-hub-card__thumb--banner-platforms .wiki-hub-card__img {
    object-position: center 10%;
}

.wiki-hub-card:hover .wiki-hub-card__img {
    transform: scale(1.07);
}

.wiki-hub-card__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    padding: 0.14rem 0.35rem;
    border-radius: 6px;
    color: #0b1f28;
    font-size: 0.68rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.03em;
    background: linear-gradient(180deg, #ffe566 0%, #f0ca4a 55%, #c99a12 100%);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28);
}

.wiki-hub-card__arrow {
    align-self: flex-end;
    margin-top: 0.15rem;
    color: var(--sushi-yellow);
    font-size: 0.82rem;
    opacity: 0;
    transform: translateX(-4px);
    transition:
        opacity 0.16s ease,
        transform 0.16s ease;
}

.wiki-hub-card:hover .wiki-hub-card__arrow {
    opacity: 1;
    transform: translateX(0);
}

@media (max-width: 720px) {
    .wiki-hub-catalog-chart {
        grid-template-columns: 1fr;
    }

    .wiki-hub-catalog-chart__ruler {
        grid-template-columns: auto 1fr auto auto;
        grid-template-rows: none;
        align-items: center;
        gap: 0.55rem;
        min-height: 0;
        padding: 0 0.15rem 0.35rem;
    }

    .wiki-hub-catalog-chart__ruler-label {
        writing-mode: horizontal-tb;
        transform: none;
    }

    .wiki-hub-catalog-chart__ruler-track {
        flex: 1 1 auto;
        min-height: 0;
        height: 0.24rem;
        width: auto;
        justify-self: stretch;
    }

    .wiki-hub-catalog-chart__ruler-line {
        width: 100%;
        min-height: 0;
        height: 100%;
        background: linear-gradient(
            90deg,
            rgba(118, 220, 142, 0.95) 0%,
            rgba(88, 214, 232, 0.9) 48%,
            rgba(38, 118, 168, 0.88) 100%
        );
    }

    .wiki-hub-catalog-chart__mark {
        top: 50%;
        left: var(--mark-pct);
        transform: translate(-50%, -50%);
    }

    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(1):hover) .wiki-hub-catalog-chart__mark:nth-child(1),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(2):hover) .wiki-hub-catalog-chart__mark:nth-child(2),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(3):hover) .wiki-hub-catalog-chart__mark:nth-child(3),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(4):hover) .wiki-hub-catalog-chart__mark:nth-child(4),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(5):hover) .wiki-hub-catalog-chart__mark:nth-child(5),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(6):hover) .wiki-hub-catalog-chart__mark:nth-child(6),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(7):hover) .wiki-hub-catalog-chart__mark:nth-child(7),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(8):hover) .wiki-hub-catalog-chart__mark:nth-child(8),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(9):hover) .wiki-hub-catalog-chart__mark:nth-child(9),
    .wiki-hub-section--catalog:has(.wiki-hub-grid--catalog > .wiki-hub-card:nth-child(10):hover) .wiki-hub-catalog-chart__mark:nth-child(10) {
        transform: translate(-50%, -50%) scale(1.35);
    }
}

.wiki-platforms-page .wiki-news-page__inner {
    max-width: 76rem;
}

.wiki-platforms-panel {
    margin-top: 2rem;
    padding: clamp(1.1rem, 2.5vw, 1.7rem);
    border: 1px solid rgba(255, 215, 0, 0.42);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(6, 42, 54, 0.35) 0%, rgba(3, 17, 22, 0.88) 100%),
        rgba(3, 17, 22, 0.72);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 14px 30px rgba(0, 0, 0, 0.28);
}

.wiki-platforms-panel__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 900;
    line-height: 1.12;
}

.wiki-platforms-panel__lead {
    margin: 0.75rem 0 1.15rem;
    max-width: 54rem;
    color: var(--sushi-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.wiki-platforms-tabs__input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.wiki-platforms-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0 0 1.15rem;
}

.wiki-platforms-tabs__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.65rem;
    padding: 0.45rem 1rem;
    border: 1px solid rgba(255, 215, 0, 0.22);
    border-radius: 999px;
    color: rgba(202, 225, 231, 0.82);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.1;
    cursor: pointer;
    background: rgba(4, 20, 28, 0.55);
    transition:
        border-color 0.16s ease,
        color 0.16s ease,
        background 0.16s ease,
        box-shadow 0.16s ease;
}

.wiki-platforms-tabs__tab i {
    font-size: 1.05rem;
}

.wiki-platforms-tabs__soon {
    padding: 0.14rem 0.42rem;
    border-radius: 999px;
    color: rgba(202, 225, 231, 0.92);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.08);
}

#wiki-platforms-tab-android:checked ~ .wiki-platforms-tabs .wiki-platforms-tabs__tab[for="wiki-platforms-tab-android"],
#wiki-platforms-tab-ios:checked ~ .wiki-platforms-tabs .wiki-platforms-tabs__tab[for="wiki-platforms-tab-ios"] {
    color: #fff;
    border-color: rgba(255, 215, 0, 0.62);
    background: linear-gradient(180deg, rgba(8, 55, 70, 0.95) 0%, rgba(4, 20, 28, 0.98) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 8px 18px rgba(0, 0, 0, 0.24);
}

.wiki-platforms-tabpanel {
    display: none;
}

#wiki-platforms-tab-android:checked ~ .wiki-platforms-tabpanel--android,
#wiki-platforms-tab-ios:checked ~ .wiki-platforms-tabpanel--ios {
    display: block;
}

.wiki-platforms-tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.85rem, 2vw, 1.15rem);
}

.wiki-platform-tile {
    --platform-hue: 142;
    --platform-light: 52%;
    position: relative;
    display: flex;
    min-height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 215, 0, 0.18);
    border-radius: 12px;
    background: linear-gradient(
        165deg,
        rgba(6, 42, 54, 0.92) 0%,
        rgba(3, 17, 22, 0.96) 58%,
        rgba(2, 12, 16, 0.98) 100%
    );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 12px 28px rgba(0, 0, 0, 0.28);
    transition:
        border-color 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.wiki-platform-tile--alt {
    --platform-hue: 198;
    --platform-light: 54%;
}

.wiki-platform-tile:hover {
    border-color: rgba(255, 215, 0, 0.42);
    transform: translateY(-2px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 16px 34px rgba(0, 0, 0, 0.34);
}

.wiki-platform-tile__backdrop {
    position: absolute;
    inset: 0;
    background-image: var(--tile-bg);
    background-size: cover;
    background-position: center 28%;
    opacity: 0.16;
    filter: saturate(1.1) blur(1px);
    pointer-events: none;
}

.wiki-platform-tile__backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(2, 12, 16, 0.15) 0%,
        rgba(2, 12, 16, 0.72) 52%,
        rgba(2, 12, 16, 0.94) 100%
    );
}

.wiki-platform-tile__strip {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0.42rem;
    background: linear-gradient(
        180deg,
        hsl(var(--platform-hue), 82%, calc(var(--platform-light) + 10%)) 0%,
        hsl(var(--platform-hue), 78%, var(--platform-light)) 100%
    );
    box-shadow: 0 0 18px hsla(var(--platform-hue), 80%, 55%, 0.38);
}

.wiki-platform-tile__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    width: 100%;
    padding: 1.15rem 1.1rem 1.1rem 1.35rem;
}

.wiki-platform-tile__hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.wiki-platform-tile__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 999px;
    color: #0b1f28;
    font-size: 1.45rem;
    background: linear-gradient(180deg, #ffe566 0%, #f0ca4a 55%, #c99a12 100%);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.28),
        0 0 18px rgba(255, 215, 0, 0.22);
}

.wiki-platform-tile--alt .wiki-platform-tile__icon {
    color: #fff;
    background: linear-gradient(180deg, #8be4ff 0%, #2f9fd4 100%);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.28),
        0 0 18px rgba(60, 184, 232, 0.28);
}

.wiki-platform-tile__statuses {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.wiki-platform-tile__status {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    color: #061a21;
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background: linear-gradient(180deg, #8ef0a8 0%, #3ecf6a 100%);
    box-shadow: 0 0 10px rgba(76, 210, 120, 0.28);
}

.wiki-platform-tile__status--beta {
    color: #fff;
    background: linear-gradient(160deg, #42a5f5, #1565c0);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: 0 0 10px rgba(66, 165, 245, 0.28);
}

.wiki-platform-tile__status--progress {
    color: #1a1408;
    background: linear-gradient(180deg, #ffe566 0%, #f0ca4a 100%);
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.22);
}

.wiki-platform-tile__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.2rem, 2.2vw, 1.45rem);
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
}

.wiki-platform-tile__text {
    margin: 0;
    color: var(--sushi-muted);
    font-size: 0.92rem;
    line-height: 1.55;
    text-align: center;
}

.wiki-platform-tile__perks {
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wiki-platform-tile__perk {
    position: relative;
    padding-left: 1.05rem;
    color: rgba(202, 225, 231, 0.88);
    font-size: 0.84rem;
    line-height: 1.45;
}

.wiki-platform-tile__perk::before {
    content: "";
    position: absolute;
    top: 0.55em;
    left: 0;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 999px;
    background: hsl(var(--platform-hue), 78%, var(--platform-light));
    box-shadow: 0 0 8px hsla(var(--platform-hue), 80%, 55%, 0.42);
}

.wiki-platform-tile__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 2.85rem;
    margin-top: auto;
    padding: 0.55rem 0.9rem;
    border-radius: 9px;
    border: 1px solid rgba(255, 215, 0, 0.42);
    color: #fff;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    background: linear-gradient(180deg, rgba(8, 55, 70, 0.92) 0%, rgba(4, 20, 28, 0.96) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 8px 18px rgba(0, 0, 0, 0.24);
    transition:
        border-color 0.16s ease,
        transform 0.16s ease,
        box-shadow 0.16s ease;
}

.wiki-platform-tile__cta:hover {
    border-color: rgba(255, 215, 0, 0.78);
    transform: translateY(-1px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 10px 22px rgba(0, 0, 0, 0.32);
}

.wiki-platform-tile__cta-label {
    min-width: 0;
}

.wiki-platform-tile__cta-icon {
    flex: 0 0 auto;
    color: var(--sushi-yellow);
    font-size: 0.82rem;
}

.wiki-platforms-soon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    min-height: 14rem;
    padding: clamp(1.5rem, 4vw, 2.5rem) 1rem;
    border: 1px dashed rgba(255, 215, 0, 0.28);
    border-radius: 12px;
    text-align: center;
    background: linear-gradient(180deg, rgba(4, 20, 28, 0.55) 0%, rgba(3, 17, 22, 0.88) 100%);
}

.wiki-platforms-soon__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 999px;
    color: rgba(202, 225, 231, 0.72);
    font-size: 1.55rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.wiki-platforms-soon__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
    font-weight: 900;
    line-height: 1.15;
}

.wiki-platforms-soon__text {
    margin: 0;
    max-width: 34rem;
    color: var(--sushi-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

@media (max-width: 820px) {
    .wiki-platforms-tiles {
        grid-template-columns: 1fr;
    }

    .wiki-platforms-tabs__tab {
        flex: 1 1 calc(50% - 0.3rem);
        justify-content: center;
    }
}

.wiki-hub-card__body,
.media-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.8rem 1rem 0 1.15rem;
}

.wiki-hub-card__title,
.media-card__title {
    color: #fff;
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.25;
}

.wiki-hub-card__text,
.media-card__text {
    color: var(--sushi-muted);
    line-height: 1.5;
}

.wiki-hub-card__text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    font-size: 0.9rem;
}

.media-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 1.4rem 0 0;
}

.media-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid rgba(255, 215, 0, 0.35);
    border-radius: 8px;
    color: var(--sushi-yellow);
    background: rgba(4, 20, 28, 0.45);
    text-decoration: none;
    font-weight: 700;
}

.media-section {
    margin-top: 2rem;
}

.media-section h2 {
    margin: 0 0 0.9rem;
    color: #fff;
    font-size: 1.35rem;
}

.media-card {
    flex-direction: column;
}

.media-list__item {
    display: flex;
    min-width: 0;
}

.media-list__item--scheduled:not(.is-live) {
    display: none;
}

.media-list__item > .media-card {
    width: 100%;
    height: 100%;
}

.media-card__thumb {
    position: relative;
    flex: 0 0 auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.25);
}

.media-card__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-card__play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    color: #061a21;
    background: var(--sushi-yellow);
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.35);
}

.media-card__body {
    flex: 1;
    padding: 1rem;
}

.media-card__type {
    align-self: flex-start;
    padding: 0.2rem 0.45rem;
    border-radius: 6px;
    color: #061a21;
    background: var(--sushi-yellow);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;
}

.media-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.media-card__date {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: rgba(180, 210, 218, 0.85);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.3;
}

.media-card__cta {
    margin-top: auto;
    padding-top: 0.25rem;
    color: var(--sushi-yellow);
    font-weight: 800;
}

.media-list__empty {
    color: var(--sushi-muted);
}

.media-video {
    max-width: 52rem;
    margin: 0;
}

.media-video__header {
    margin-bottom: 1rem;
}

.media-video__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.media-video__meta .media-card__type {
    font-size: 0.72rem;
}

.wiki-media-video-page .wiki-news-article__title {
    font-size: clamp(1.45rem, 3.5vw, 1.9rem);
    letter-spacing: 0.018em;
}

.media-video__lead {
    max-width: 48rem;
}

.media-video__frame {
    margin: 1.25rem auto 2rem;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid rgba(232, 197, 71, 0.2);
    background: #000;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.4);
}

.media-video__frame--short {
    aspect-ratio: 9 / 16;
    max-width: 430px;
}

.media-video__frame--video {
    aspect-ratio: 16 / 9;
    width: 100%;
    max-width: 100%;
}

.media-video__frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.media-video__seo {
    margin-top: 1.75rem;
}

.media-video__seo-link {
    margin-top: 0.95rem;
}

.media-video__seo-link a {
    color: var(--sushi-yellow);
    font-weight: 700;
    text-decoration: none;
}

.media-video__seo-link a:hover {
    text-decoration: underline;
}

.media-video__body {
    margin-top: 0.25rem;
}

.wiki-section-back {
    margin: 2.25rem 0 0;
    padding-top: 1.5rem;
    border-top: 1px solid var(--sushi-border);
    text-align: center;
}

.wiki-back-to-wiki {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: min(100%, 16rem);
    padding: 0.75rem 1.35rem;
    border-radius: 10px;
    border: 1px solid rgba(0, 180, 219, 0.55);
    background:
        linear-gradient(180deg, rgba(10, 74, 92, 0.96) 0%, rgba(6, 42, 54, 0.98) 100%),
        var(--sushi-card);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    color: var(--sushi-text);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.2;
    text-decoration: none;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.wiki-back-to-wiki__icon {
    font-size: 1.05em;
    line-height: 1;
}

.wiki-back-to-wiki:hover {
    border-color: var(--sushi-cyan);
    background:
        linear-gradient(180deg, rgba(12, 88, 108, 0.98) 0%, rgba(8, 52, 66, 1) 100%),
        var(--sushi-card);
    transform: translateY(-1px);
    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(0, 180, 219, 0.12);
    color: #fff;
}

.wiki-back-to-wiki:focus-visible {
    outline: 2px solid var(--sushi-cyan);
    outline-offset: 3px;
}

/* Wiki changelog */
.wiki-changelog-page .wiki-news-page__inner {
    max-width: 76rem;
}

.changelog-panel {
    margin-top: 2rem;
    padding: clamp(1.1rem, 2.5vw, 1.7rem);
    border: 1px solid var(--sushi-border);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(3, 17, 22, 0.82), rgba(6, 42, 54, 0.48)),
        rgba(4, 20, 28, 0.58);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
}

.changelog-panel__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.1rem);
    font-weight: 900;
    line-height: 1.12;
}

.changelog-panel__title--list {
    margin-top: 2.5rem;
}

.changelog-panel__lead {
    margin: 0.75rem 0 1.1rem;
    color: var(--sushi-muted);
    font-size: 1rem;
    line-height: 1.55;
}

.changelog-latest {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1.25rem 0 0;
    padding: 0;
    list-style: none;
}

.changelog-latest__item {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(255, 215, 0, 0.24);
    border-radius: 8px;
    background: rgba(3, 17, 22, 0.54);
}

.changelog-latest__icon {
    color: var(--sushi-yellow);
    font-size: 1.25rem;
    line-height: 1;
}

.changelog-latest__label,
.changelog-entry__meta {
    color: var(--sushi-muted);
    font-weight: 800;
    line-height: 1.3;
}

.changelog-latest__version {
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.15;
}

.changelog-latest__date {
    color: var(--sushi-muted);
    font-size: 0.9rem;
    line-height: 1.35;
}

.changelog-list {
    border-top: 1px solid rgba(255, 215, 0, 0.2);
}

.changelog-entry {
    padding: 1rem 0 1.1rem;
    border-bottom: 1px solid rgba(255, 215, 0, 0.16);
}

.changelog-entry__title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    color: #fff;
    font-size: clamp(1.15rem, 2.2vw, 1.55rem);
    font-weight: 900;
    line-height: 1.2;
}

.changelog-entry__title span {
    color: var(--sushi-yellow);
    font-size: 0.85rem;
}

.changelog-entry__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin: 0.35rem 0 0.75rem 1.4rem;
    font-size: 0.92rem;
}

.changelog-entry__list {
    display: grid;
    gap: 0.4rem;
    margin: 0;
    padding-left: 2.8rem;
    color: rgba(230, 244, 248, 0.94);
    line-height: 1.48;
}

.changelog-entry__list li::marker {
    color: var(--sushi-yellow);
}

.changelog-entry__list a.changelog-entry__link {
    color: var(--sushi-yellow);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.changelog-entry__list a.changelog-entry__link:hover {
    color: #fff3a8;
}

@media (max-width: 900px) {
    .changelog-latest {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .changelog-latest {
        grid-template-columns: 1fr;
    }

    .changelog-panel {
        padding: 1rem;
    }

    .changelog-entry__meta {
        margin-left: 0;
    }

    .changelog-entry__list {
        padding-left: 1.35rem;
    }
}

/* Wiki weapons */
.wiki-weapons-page .wiki-news-page__inner {
    max-width: 78rem;
}

.wiki-weapon-page .wiki-news-page__inner {
    max-width: 60rem;
}

.wiki-weapon-page .wiki-news-crumbs {
    margin-bottom: 0.8rem;
}

.weapon-seo-block {
    max-width: 54rem;
    margin-top: 1.4rem;
    padding: 1rem 1.1rem;
    border-left: 3px solid var(--sushi-yellow);
    border-radius: 8px;
    background: rgba(4, 20, 28, 0.42);
}

.weapon-seo-block p {
    margin: 0;
    color: var(--sushi-muted);
    line-height: 1.65;
}

.wiki-catalog-section {
    margin-top: 2rem;
    scroll-margin-top: 5.5rem;
}

.wiki-catalog-jumps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 1.35rem 0 0.25rem;
}

.wiki-catalog-jumps__link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 215, 0, 0.55);
    background: rgba(6, 42, 54, 0.5);
    color: var(--sushi-light, #e8f4f2);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    transition:
        border-color 0.16s ease,
        background 0.16s ease,
        transform 0.16s ease;
}

.wiki-catalog-jumps__link:hover {
    border-color: rgba(255, 215, 0, 0.85);
    background: rgba(8, 55, 70, 0.72);
    transform: translateY(-1px);
}

.wiki-catalog-jumps__count {
    color: var(--sushi-yellow);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.wiki-catalog-section__title {
    margin: 0 0 1rem;
    font-size: 1.25rem;
}

.wiki-entry-related {
    margin-top: 1.6rem;
}

.wiki-entry-related__list {
    margin: 0;
    padding-left: 1.2rem;
}

.wiki-entry-related__cat {
    color: var(--sushi-muted);
    font-size: 0.92rem;
}

.wiki-entry-pager {
    display: flex;
    gap: 0.75rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 215, 0, 0.35);
}

.wiki-entry-pager__link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex: 1 1 0;
    min-width: 0;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 215, 0, 0.45);
    background: rgba(6, 42, 54, 0.55);
    color: var(--sushi-yellow);
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transition:
        transform 0.16s ease,
        border-color 0.16s ease,
        background 0.16s ease;
}

.wiki-entry-pager__link:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 215, 0, 0.7);
    background: rgba(8, 55, 70, 0.68);
}

.wiki-entry-pager__link--prev {
    justify-content: flex-start;
}

.wiki-entry-pager__link--next {
    justify-content: flex-end;
}

.wiki-entry-pager__thumb {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    overflow: hidden;
    border-radius: 6px;
    border: 1px solid var(--sushi-border);
    background: rgba(4, 20, 28, 0.6);
}

.wiki-entry-pager__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wiki-entry-pager__thumb--weapon,
.wiki-entry-pager__thumb--fish {
    width: 5.5rem;
    height: 2.5rem;
}

.wiki-entry-pager__thumb--weapon img,
.wiki-entry-pager__thumb--fish img {
    object-fit: contain;
    padding: 0.2rem;
}

.wiki-entry-pager__thumb--empty {
    color: var(--sushi-muted);
    font-size: 1rem;
}

.wiki-entry-pager__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wiki-entry-pager__chevron {
    flex-shrink: 0;
    font-size: 1.05rem;
    line-height: 1;
}

.weapon-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 760px) {
    .weapon-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.weapon-list__item {
    display: flex;
    min-width: 0;
}

.weapon-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid var(--sushi-border);
    background: rgba(6, 42, 54, 0.55);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
    transition:
        transform 0.16s ease,
        border-color 0.16s ease,
        background 0.16s ease;
}

.weapon-card:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 215, 0, 0.55);
    background: rgba(8, 55, 70, 0.68);
}

.weapon-card__thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 8.75rem;
    padding: 0.55rem 0.85rem;
    background: radial-gradient(circle at 50% 50%, rgba(255, 215, 0, 0.1), rgba(0, 0, 0, 0.18) 58%);
}

.weapon-card__thumb img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.weapon-card__thumb--gold img,
.weapon-card__thumb--gems img {
    max-width: 58%;
    max-height: 58%;
}

.weapon-card__thumb--underwater-chest {
    overflow: hidden;
}

.weapon-card__thumb--underwater-chest img {
    max-width: 132%;
    max-height: 132%;
}

.weapon-card__thumb--reward-chest {
    overflow: hidden;
}

.weapon-card__thumb--reward-chest img {
    max-width: 132%;
    max-height: 132%;
}

.weapon-card__thumb--empty {
    color: var(--sushi-yellow);
    font-size: 2rem;
}

.weapon-card--fish-large {
    overflow: visible;
}

.weapon-card__thumb--fish {
    position: relative;
    overflow: hidden;
}

.weapon-card__thumb--fish-large {
    overflow: hidden;
    padding-top: 0.65rem;
    padding-bottom: 0.35rem;
}

.weapon-card__thumb--fish > img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transform: none;
}

.weapon-card__thumb--fish-boost > img {
    max-width: 162%;
    max-height: 162%;
    object-fit: contain;
    transform: translateY(-0.12rem);
    transform-origin: center 42%;
}

.weapon-card__thumb--fish-large:not(.weapon-card__thumb--fish-orca) > img {
    max-width: 212%;
    max-height: 212%;
    object-fit: contain;
    transform: translateY(-0.45rem);
    transform-origin: center 38%;
}

.weapon-card__thumb--fish-shark > img {
    max-width: 212%;
    max-height: 212%;
    transform: translateY(-0.6rem);
    transform-origin: center 38%;
}

.weapon-card__thumb--fish-orca {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0.45rem;
}

.weapon-card__thumb--fish-orca > img {
    max-width: 238%;
    max-height: 238%;
    object-fit: contain;
    object-position: center 56%;
    transform: translateY(-0.92rem);
    transform-origin: center 32%;
}

.weapon-card__sprite-badge {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    padding: 0.2rem;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(255, 215, 0, 0.42);
    background: rgba(4, 20, 28, 0.88);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.34);
    pointer-events: none;
}

.weapon-card__sprite-badge img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.weapon-profile__sprite-badge {
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    padding: 0.32rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 215, 0, 0.45);
    background: rgba(4, 20, 28, 0.9);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.34);
    pointer-events: none;
}

.weapon-profile__sprite-badge img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.weapon-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1rem;
}

.weapon-card__title {
    color: #fff;
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.25;
}

.weapon-card__text {
    color: var(--sushi-muted);
    line-height: 1.5;
}

.weapon-card__cta {
    margin-top: auto;
    padding-top: 0.25rem;
    color: var(--sushi-yellow);
    font-weight: 800;
}

.weapon-profile {
    margin: 0;
    max-width: 56rem;
}

.weapon-profile__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 0;
    padding: clamp(0.95rem, 1.9vw, 1.2rem);
    border-radius: 8px;
    border: 1px solid rgba(255, 215, 0, 0.22);
    background:
        linear-gradient(90deg, rgba(3, 17, 22, 0.84), rgba(6, 42, 54, 0.52)),
        rgba(4, 20, 28, 0.62);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.weapon-profile__image-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: clamp(9.5rem, 17vw, 12rem);
    margin: 0 auto;
    padding-bottom: clamp(0.95rem, 1.8vw, 1.25rem);
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 215, 0, 0.22);
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 42%, rgba(255, 215, 0, 0.2), rgba(21, 62, 54, 0.13) 36%, rgba(6, 42, 54, 0.06) 58%, transparent 78%);
    box-shadow: none;
}

.weapon-profile__image-wrap::before {
    content: none;
}

.weapon-profile__image {
    display: block;
    position: relative;
    z-index: 1;
    top: -0.5rem;
    width: min(100%, 26rem);
    height: auto;
    max-width: none;
    max-height: clamp(7rem, 16vw, 10rem);
    object-fit: contain;
    filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.38));
}

.weapon-profile--shuriken .weapon-profile__image {
    top: -1.15rem;
    width: min(360%, 42rem);
    max-height: clamp(15rem, 29vw, 20rem);
}

.weapon-profile--bathyscaphe .weapon-profile__image {
    max-height: clamp(10rem, 22vw, 14rem);
    width: min(100%, 30rem);
}

.weapon-profile--underwater-chest .weapon-profile__image {
    max-height: clamp(10rem, 22vw, 14rem);
    width: min(100%, 32rem);
}

.weapon-profile--ammo .weapon-profile__image {
    max-height: clamp(10rem, 22vw, 14rem);
    width: min(100%, 30rem);
}

.weapon-profile__image-wrap--fish {
    overflow: hidden;
    height: clamp(9.5rem, 17vw, 12rem);
    min-height: clamp(9.5rem, 17vw, 12rem);
    max-height: clamp(9.5rem, 17vw, 12rem);
    box-sizing: border-box;
}

.weapon-profile__image-wrap--fish-boost .weapon-profile__image {
    width: min(145%, 37.7rem);
    max-height: clamp(10.15rem, 23.2vw, 11.5rem);
    top: -0.55rem;
    transform: translateY(-0.1rem);
    transform-origin: center 42%;
}

.weapon-profile--shark .weapon-profile__image,
.weapon-profile--black-shark .weapon-profile__image {
    transform: scale(2.12) translateY(-0.9rem);
    transform-origin: center 38%;
}

.weapon-profile--orca .weapon-profile__image {
    object-position: center 66%;
    transform: scale(2.22) translateY(-1.5rem);
    transform-origin: center 30%;
}

.weapon-profile__image-placeholder {
    color: var(--sushi-yellow);
    font-size: 3rem;
}

.weapon-profile__intro {
    min-width: 0;
    padding-top: clamp(0.95rem, 1.8vw, 1.15rem);
    border-top: 0;
}

.weapon-profile__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    line-height: 1.05;
    letter-spacing: 0;
}

.weapon-profile__lead {
    max-width: 42rem;
    margin: 0.55rem 0 0;
    color: var(--sushi-muted);
    font-size: clamp(0.95rem, 1.45vw, 1.05rem);
    line-height: 1.48;
}

.weapon-profile__specs {
    margin-top: 1rem;
}

.wiki-entry-details {
    margin-top: 1.6rem;
}

.wiki-entry-details__list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.wiki-entry-detail {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(255, 215, 0, 0.42);
    background: rgba(3, 17, 22, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.wiki-entry-detail__label {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    width: clamp(6.75rem, 18vw, 9.75rem);
    padding: 0.7rem 0.8rem;
    color: var(--sushi-yellow);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(0, 0, 0, 0.38);
    border-right: 1px solid rgba(255, 215, 0, 0.22);
}

.wiki-entry-detail__value {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 0.7rem 0.9rem;
    color: rgba(202, 225, 231, 0.92);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
    background: rgba(6, 42, 54, 0.82);
    overflow-wrap: anywhere;
}

.wiki-entry-detail__value--ingredients {
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
}

.wiki-entry-ingredients {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100%;
}

a.wiki-entry-ingredient {
    color: inherit;
    text-decoration: none;
}

a.wiki-entry-ingredient:hover .weapon-component__name {
    color: var(--sushi-yellow);
}

.weapon-profile__section-title,
.weapon-components h3 {
    margin: 0 0 0.65rem;
    color: var(--sushi-yellow);
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.weapon-profile__crafting {
    margin-top: 1.15rem;
}

.weapon-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.5rem;
}

.weapon-stat {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    column-gap: 0.55rem;
    align-items: center;
    flex: 1 1 9rem;
    max-width: 12rem;
    min-height: 3.45rem;
    overflow: visible;
    border-radius: 8px;
    border: 1px solid rgba(255, 215, 0, 0.3);
    background: rgba(3, 17, 22, 0.64);
}

.weapon-stat__icon {
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    color: var(--sushi-yellow);
    font-size: 1.1rem;
    background: rgba(0, 0, 0, 0.32);
}

.weapon-stat__icon--currency img {
    width: 1.65rem;
    height: 1.65rem;
    object-fit: contain;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.45));
}

.weapon-stats--crafting .weapon-stat {
    flex: 1 1 10rem;
    max-width: 13rem;
}

.weapon-stat__label {
    align-self: end;
    color: rgba(202, 225, 231, 0.82);
    min-width: 0;
    padding-top: 0.36rem;
    padding-right: 0.55rem;
    font-size: clamp(0.58rem, 0.75vw, 0.68rem);
    font-weight: 800;
    line-height: 1.08;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.weapon-stat__value {
    align-self: start;
    color: #fff;
    min-width: 0;
    padding-right: 0.55rem;
    padding-bottom: 0.36rem;
    font-size: clamp(1rem, 1.65vw, 1.28rem);
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.weapon-components {
    margin-top: 0.9rem;
    padding: 0;
    border-radius: 8px;
    border: 0;
    background: transparent;
}

.weapon-components ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.weapon-component {
    display: inline-flex;
    align-items: stretch;
    min-height: 2.55rem;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid rgba(255, 215, 0, 0.42);
    background: rgba(3, 17, 22, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

a.weapon-component {
    color: inherit;
    text-decoration: none;
}

a.weapon-component:hover .weapon-component__name {
    color: var(--sushi-yellow);
}

.weapon-components ul > li:has(> a.weapon-component) {
    display: contents;
}

.weapon-component__icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    min-height: 2.55rem;
    color: var(--sushi-yellow);
    background: rgba(0, 0, 0, 0.38);
}

.weapon-component__icon img {
    width: 2.1rem;
    height: 2.1rem;
    object-fit: contain;
}

.weapon-component__icon--sprite {
    border-radius: 6px;
    border: 1px solid rgba(255, 215, 0, 0.35);
    background: rgba(4, 20, 28, 0.88);
}

.wiki-fish-drops {
    margin-top: 1.6rem;
}

.wiki-fish-dishes {
    margin-top: 1.6rem;
}

/* Ingredient usage table (dishes / sushi where ingredient appears) */
.wiki-ingredient-usage {
    margin-top: 1.6rem;
}

/* Currency entry: what gems / gold can buy */
.wiki-currency-purchases {
    margin-top: 1.6rem;
}

.wiki-currency-purchases__lead {
    margin: 0 0 1.1rem;
    color: var(--sushi-muted);
    font-size: 0.94rem;
    line-height: 1.5;
    max-width: 44rem;
}

.wiki-currency-purchases__groups {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
}

.wiki-currency-purchases__group {
    padding: 1rem 1.05rem 1.05rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 215, 0, 0.22);
    background: rgba(0, 0, 0, 0.28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.wiki-currency-purchases__group-title {
    margin: 0 0 0.65rem;
    font-size: 0.98rem;
    font-weight: 800;
    color: var(--sushi-yellow);
}

.wiki-currency-purchases__note {
    margin: 0 0 0.75rem;
    color: var(--sushi-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.wiki-currency-purchases__list .weapon-components ul {
    margin: 0;
}

.wiki-currency-purchases__list .weapon-component.wiki-currency-purchase__item {
    overflow: visible;
    max-width: 100%;
}

.wiki-currency-purchase__item .weapon-component__name {
    flex: 1 1 auto;
    min-width: 0;
}

.wiki-currency-purchase__price {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    flex-shrink: 0;
    align-self: stretch;
    padding: 0.45rem 0.75rem;
    font-size: 0.92rem;
    font-weight: 800;
    color: #fff;
    font-variant-numeric: tabular-nums;
    background: rgba(6, 42, 54, 0.82);
}

.wiki-currency-purchase__item:has(.wiki-currency-purchase__price--exchange) {
    flex-wrap: wrap;
}

.wiki-currency-purchase__price--exchange {
    flex: 1 1 100%;
    flex-wrap: wrap;
    gap: 0.35rem 0.4rem;
    justify-content: flex-start;
    padding: 0.42rem 0.7rem 0.45rem;
    border-top: 1px solid rgba(255, 215, 0, 0.14);
}

.wiki-currency-purchase__arrow {
    color: var(--sushi-cyan);
    font-weight: 700;
}

.wiki-currency-purchase__icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}

.wiki-ingredient-usage__lead {
    margin: 0 0 1rem;
    color: var(--sushi-muted);
    font-size: 0.94rem;
    line-height: 1.5;
    max-width: 44rem;
}

.wiki-ingredient-usage__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 14px;
    border: 1px solid rgba(255, 215, 0, 0.28);
    background: rgba(0, 0, 0, 0.32);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.wiki-ingredient-usage__table {
    width: 100%;
    min-width: 28rem;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.wiki-ingredient-usage__table thead th {
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid rgba(255, 215, 0, 0.28);
    background: rgba(6, 42, 54, 0.72);
    color: var(--sushi-muted);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: left;
    white-space: nowrap;
}

.wiki-ingredient-usage__table thead th:not(:first-child) {
    text-align: center;
}

.wiki-ingredient-usage__row:nth-child(even) {
    background: rgba(255, 255, 255, 0.025);
}

.wiki-ingredient-usage__row:hover {
    background: rgba(0, 180, 219, 0.08);
}

.wiki-ingredient-usage__table th[scope="row"],
.wiki-ingredient-usage__table td {
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    vertical-align: middle;
}

.wiki-ingredient-usage__table td {
    text-align: center;
}

.wiki-ingredient-usage__table th[scope="row"] {
    text-align: left;
    font-weight: 400;
}

.wiki-ingredient-usage__dish {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    min-width: 0;
    transition: color 0.15s ease;
}

.wiki-ingredient-usage__dish:hover {
    color: var(--sushi-yellow);
}

.wiki-ingredient-usage__dish .weapon-component__icon,
.wiki-ingredient-usage__dish .wiki-drop-icon {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.wiki-ingredient-usage__dish-name {
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.wiki-ingredient-usage__type {
    display: inline-flex;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 180, 219, 0.35);
    background: rgba(0, 180, 219, 0.1);
    color: var(--sushi-cyan);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.wiki-ingredient-usage__qty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.35rem;
    padding: 0.3rem 0.55rem;
    border-radius: 8px;
    background: var(--sushi-yellow);
    color: #061a21;
    font-size: 0.82rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.wiki-ingredient-usage__levels {
    display: inline-flex;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 215, 0, 0.38);
    background: rgba(255, 215, 0, 0.1);
    color: var(--sushi-yellow);
    font-size: 0.8rem;
    font-weight: 800;
    white-space: nowrap;
}

.wiki-ingredient-usage__dash {
    color: rgba(255, 255, 255, 0.28);
    font-weight: 700;
}

.wiki-ingredient-usage__tag--yes {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    background: rgba(80, 200, 120, 0.18);
    border: 1px solid rgba(80, 200, 120, 0.4);
    color: #9ef0b8;
    font-size: 0.82rem;
    font-weight: 900;
}

.wiki-ingredient-usage__table tbody tr:last-child td,
.wiki-ingredient-usage__table tbody tr:last-child th {
    border-bottom: 0;
}

@media (max-width: 560px) {
    .wiki-ingredient-usage__table {
        min-width: 24rem;
    }

    .wiki-ingredient-usage__table thead th,
    .wiki-ingredient-usage__table th[scope="row"],
    .wiki-ingredient-usage__table td {
        padding: 0.55rem 0.65rem;
    }

    .wiki-ingredient-usage__dish .weapon-component__icon,
    .wiki-ingredient-usage__dish .wiki-drop-icon {
        width: 1.85rem;
        height: 1.85rem;
    }
}

.weapon-component__name {
    display: inline-flex;
    flex: 1 1 auto;
    align-items: center;
    align-self: stretch;
    min-width: 0;
    padding: 0.45rem 0.75rem;
    color: var(--sushi-muted);
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.15;
    background: rgba(6, 42, 54, 0.82);
    overflow-wrap: anywhere;
}

.weapon-component__qty {
    flex-shrink: 0;
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    padding: 0 0.75rem;
    color: #061a21;
    background: var(--sushi-yellow);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.wiki-bathyscaphe-checkpoints__lead {
    margin: 0 0 0.85rem;
    color: var(--sushi-muted);
    line-height: 1.5;
}

.wiki-bathyscaphe-checkpoints__chart {
    display: grid;
    grid-template-columns: 3.4rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: stretch;
    max-width: 32rem;
}

.wiki-bathyscaphe-checkpoints__ruler {
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    justify-items: center;
    gap: 0.35rem;
    min-height: 100%;
    padding: 0.15rem 0;
}

.wiki-bathyscaphe-checkpoints__ruler-label {
    color: rgba(202, 225, 231, 0.72);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.wiki-bathyscaphe-checkpoints__ruler-line {
    position: relative;
    width: 0.22rem;
    min-height: 12rem;
    border-radius: 999px;
    background: linear-gradient(
        180deg,
        rgba(88, 214, 232, 0.95) 0%,
        rgba(38, 118, 168, 0.88) 52%,
        rgba(10, 42, 72, 0.98) 100%
    );
    box-shadow:
        0 0 12px rgba(64, 196, 220, 0.22),
        inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.wiki-bathyscaphe-checkpoints__ruler-max {
    color: var(--sushi-yellow);
    font-size: 0.68rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    text-align: center;
}

.wiki-bathyscaphe-checkpoints__body {
    min-width: 0;
}

.wiki-bathyscaphe-checkpoints__legend {
    display: grid;
    grid-template-columns: 0.55rem 2.35rem minmax(0, 1fr) 5.5rem;
    gap: 0.65rem;
    align-items: center;
    margin: 0 0 0.45rem;
    padding: 0 0.15rem;
    color: var(--sushi-yellow);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.wiki-bathyscaphe-checkpoints__legend-depth {
    grid-column: 4;
    text-align: right;
}

.wiki-bathyscaphe-checkpoints__list {
    display: flex;
    flex-direction: column;
    gap: 0.38rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wiki-bathyscaphe-checkpoints__item {
    --depth-hue: calc(188 + (var(--depth-pct, 0) * 0.34));
    --depth-light: calc(58% - (var(--depth-pct, 0) * 0.14%));
    display: grid;
    grid-template-columns: 0.55rem 2.35rem minmax(0, 1fr) 5.5rem;
    gap: 0.65rem;
    align-items: center;
    min-height: 2.45rem;
    padding: 0.38rem 0.55rem;
    border: 1px solid rgba(255, 215, 0, 0.14);
    border-radius: 8px;
    background: linear-gradient(
        90deg,
        rgba(4, 20, 28, 0.72) 0%,
        rgba(4, 20, 28, 0.42) 55%,
        rgba(4, 20, 28, 0.58) 100%
    );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.wiki-bathyscaphe-checkpoints__marker {
    position: relative;
    justify-self: center;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: hsl(var(--depth-hue), 78%, var(--depth-light));
    box-shadow:
        0 0 0 2px rgba(4, 20, 28, 0.95),
        0 0 10px hsla(var(--depth-hue), 80%, 55%, 0.45);
}

.wiki-bathyscaphe-checkpoints__marker::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    width: 0.55rem;
    height: 1px;
    background: linear-gradient(90deg, hsla(var(--depth-hue), 70%, 55%, 0.75), transparent);
    transform: translateY(-50%);
}

.wiki-bathyscaphe-checkpoints__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    color: #0b1f28;
    font-size: 0.88rem;
    font-weight: 900;
    background: linear-gradient(180deg, #ffe566 0%, #f0ca4a 55%, #c99a12 100%);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28);
}

.wiki-bathyscaphe-checkpoints__track {
    position: relative;
    height: 0.6rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.34);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
}

.wiki-bathyscaphe-checkpoints__bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(
        90deg,
        hsla(var(--depth-hue), 72%, calc(var(--depth-light) + 8%), 0.72) 0%,
        hsl(var(--depth-hue), 82%, var(--depth-light)) 100%
    );
    box-shadow: 0 0 12px hsla(var(--depth-hue), 80%, 55%, 0.32);
}

.wiki-bathyscaphe-checkpoints__depth {
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    text-align: right;
}

.wiki-equipment-upgrades {
    margin-top: 1.35rem;
}

.wiki-equipment-upgrades__lead {
    color: var(--sushi-muted);
    font-size: 0.95rem;
    line-height: 1.45;
    margin: 0 0 1rem;
    max-width: 42rem;
}

.wiki-equipment-upgrades__wrap {
    border: 1px solid rgba(255, 215, 0, 0.42);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(6, 42, 54, 0.35) 0%, rgba(3, 17, 22, 0.88) 100%),
        rgba(3, 17, 22, 0.72);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 12px 28px rgba(0, 0, 0, 0.28);
    max-height: 32rem;
    overflow: auto;
    scrollbar-color: rgba(255, 215, 0, 0.35) rgba(0, 0, 0, 0.2);
    scrollbar-width: thin;
}

.wiki-equipment-upgrades__wrap::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

.wiki-equipment-upgrades__wrap::-webkit-scrollbar-thumb {
    background: rgba(255, 215, 0, 0.35);
    border-radius: 999px;
}

.wiki-equipment-upgrades__wrap::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.22);
}

.wiki-equipment-upgrades__table {
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.92rem;
    min-width: 100%;
    width: 100%;
}

.wiki-equipment-upgrades__table thead th {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.58) 0%, rgba(6, 42, 54, 0.96) 100%);
    border-bottom: 2px solid rgba(255, 215, 0, 0.45);
    color: var(--sushi-yellow);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    padding: 0.75rem 0.95rem;
    position: sticky;
    text-align: left;
    text-transform: uppercase;
    top: 0;
    z-index: 2;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
}

.wiki-equipment-upgrades__table thead th:first-child {
    text-align: center;
    width: 5.5rem;
}

.wiki-equipment-upgrades__table thead th:last-child {
    text-align: right;
    width: 9rem;
}

.wiki-equipment-upgrades__row {
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

.wiki-equipment-upgrades__row:nth-child(even) {
    background: rgba(255, 255, 255, 0.025);
}

.wiki-equipment-upgrades__row:hover {
    background: rgba(255, 215, 0, 0.07);
    box-shadow: inset 3px 0 0 var(--sushi-yellow);
}

.wiki-equipment-upgrades__row--max {
    background: linear-gradient(
        90deg,
        rgba(255, 215, 0, 0.12) 0%,
        rgba(0, 180, 219, 0.08) 55%,
        rgba(255, 255, 255, 0.02) 100%
    );
}

.wiki-equipment-upgrades__row--max:hover {
    background: linear-gradient(
        90deg,
        rgba(255, 215, 0, 0.16) 0%,
        rgba(0, 180, 219, 0.12) 55%,
        rgba(255, 255, 255, 0.03) 100%
    );
    box-shadow: inset 3px 0 0 var(--sushi-cyan);
}

.wiki-equipment-upgrades__table th[scope="row"],
.wiki-equipment-upgrades__table td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    color: #fff;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    padding: 0.62rem 0.95rem;
    vertical-align: middle;
}

.wiki-equipment-upgrades__table th[scope="row"] {
    background: rgba(0, 0, 0, 0.22);
    text-align: center;
    width: 5.5rem;
}

.wiki-equipment-upgrades__level {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.15rem;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 215, 0, 0.48);
    background: rgba(0, 0, 0, 0.42);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 2px 6px rgba(0, 0, 0, 0.22);
    color: var(--sushi-yellow);
    font-size: 0.84rem;
    font-weight: 900;
}

.wiki-equipment-upgrades__row--max .wiki-equipment-upgrades__level {
    border-color: rgba(0, 180, 219, 0.55);
    background: rgba(0, 180, 219, 0.14);
    color: #fff;
}

.wiki-equipment-upgrades__stat-cell {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    min-width: 10rem;
}

.wiki-equipment-upgrades__stat-value {
    color: #fff;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: right;
}

.wiki-equipment-upgrades__stat-track {
    height: 0.58rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35);
}

.wiki-equipment-upgrades__stat-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(0, 180, 219, 0.88) 0%, rgba(255, 215, 0, 0.95) 100%);
    box-shadow: 0 0 10px rgba(64, 196, 220, 0.35);
}

.wiki-equipment-upgrades__row--max .wiki-equipment-upgrades__stat-bar {
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.95) 0%, rgba(255, 255, 255, 0.88) 100%);
    box-shadow: 0 0 12px rgba(255, 215, 0, 0.42);
}

.wiki-equipment-upgrades__table td:last-child {
    text-align: right;
    white-space: nowrap;
}

.wiki-equipment-upgrades__cost {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.42rem;
    padding: 0.3rem 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 215, 0, 0.38);
    background: rgba(255, 215, 0, 0.1);
    color: var(--sushi-yellow);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
}

.wiki-equipment-upgrades__cost-icon {
    flex-shrink: 0;
    width: 1.35rem;
    height: 1.35rem;
    object-fit: contain;
    image-rendering: auto;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.45));
}

.wiki-equipment-upgrades__cost--free {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(202, 225, 231, 0.88);
}

.wiki-equipment-upgrades__cost--max {
    border-color: rgba(0, 180, 219, 0.42);
    background: rgba(0, 180, 219, 0.12);
    color: rgba(202, 225, 231, 0.95);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.wiki-equipment-upgrades__table tbody tr:last-child td,
.wiki-equipment-upgrades__table tbody tr:last-child th {
    border-bottom: 0;
}

/* ——— Dish / fish upgrade timeline (replaces flat table for sushi bar levels) ——— */

.wiki-dish-upgrades {
    margin-top: 1.75rem;
    padding: 1.5rem 1.35rem 1.65rem;
    border-radius: 20px;
    border: 1px solid rgba(255, 215, 0, 0.38);
    background:
        radial-gradient(ellipse 130% 90% at 0% 0%, rgba(0, 180, 219, 0.14), transparent 58%),
        radial-gradient(ellipse 100% 70% at 100% 100%, rgba(255, 215, 0, 0.1), transparent 52%),
        linear-gradient(168deg, rgba(8, 48, 60, 0.72), rgba(3, 17, 22, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 20px 48px rgba(0, 0, 0, 0.38);
}

.wiki-dish-upgrades__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
    margin-bottom: 0.5rem;
}

.wiki-dish-upgrades__header .weapon-profile__section-title {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 1.15rem;
}

.wiki-dish-upgrades__title-icon {
    color: var(--sushi-cyan);
    font-size: 0.95em;
}

.wiki-dish-upgrades__dish-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.48rem 0.9rem 0.48rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 180, 219, 0.42);
    background: rgba(0, 180, 219, 0.12);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.wiki-dish-upgrades__dish-link:hover {
    border-color: rgba(0, 180, 219, 0.65);
    background: rgba(0, 180, 219, 0.2);
    transform: translateY(-1px);
}

.wiki-dish-upgrades__dish-link .weapon-component__icon,
.wiki-dish-upgrades__dish-link .wiki-drop-icon {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 8px;
    overflow: hidden;
}

.wiki-dish-upgrades__dish-link-label {
    color: var(--sushi-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.wiki-dish-upgrades__dish-link-name {
    color: #fff;
    font-weight: 800;
}

.wiki-dish-upgrades__dish-link-icon {
    font-size: 0.72rem;
    color: var(--sushi-cyan);
    opacity: 0.85;
}

.wiki-dish-upgrades__lead {
    color: var(--sushi-muted);
    font-size: 0.94rem;
    line-height: 1.55;
    margin: 0 0 1.25rem;
    max-width: 46rem;
}

.wiki-dish-upgrades__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
    margin-bottom: 1.5rem;
}

.wiki-dish-upgrades__summary-card {
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
    padding: 0.85rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.32);
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.wiki-dish-upgrades__summary-card--peak {
    border-color: rgba(255, 215, 0, 0.42);
    background: linear-gradient(155deg, rgba(255, 215, 0, 0.16), rgba(0, 0, 0, 0.32));
}

.wiki-dish-upgrades__summary-card--growth {
    border-color: rgba(0, 180, 219, 0.38);
    background: linear-gradient(155deg, rgba(0, 180, 219, 0.16), rgba(0, 0, 0, 0.32));
}

.wiki-dish-upgrades__summary-label {
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--sushi-muted);
}

.wiki-dish-upgrades__summary-value {
    font-size: 1.28rem;
    font-weight: 900;
    color: #fff;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.wiki-dish-upgrades__summary-card--peak .wiki-dish-upgrades__summary-value {
    color: var(--sushi-yellow);
    text-shadow: 0 0 18px rgba(255, 215, 0, 0.25);
}

.wiki-dish-upgrades__summary-card--growth .wiki-dish-upgrades__summary-value {
    color: var(--sushi-cyan);
}

.wiki-dish-upgrades__summary-sep {
    margin: 0 0.2rem;
    color: var(--sushi-muted);
    font-weight: 700;
}

.wiki-dish-upgrades__timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0.15rem 0 0;
}

.wiki-dish-upgrades__step {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.95rem;
    padding: 0 0 1rem;
}

.wiki-dish-upgrades__step:last-child {
    padding-bottom: 0;
}

.wiki-dish-upgrades__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 1.15rem;
}

.wiki-dish-upgrades__rail-dot {
    width: 0.82rem;
    height: 0.82rem;
    border-radius: 50%;
    border: 2px solid rgba(255, 215, 0, 0.75);
    background: rgba(255, 215, 0, 0.28);
    box-shadow: 0 0 14px rgba(255, 215, 0, 0.35);
    flex-shrink: 0;
}

.wiki-dish-upgrades__step.is-max .wiki-dish-upgrades__rail-dot {
    border-color: rgba(0, 180, 219, 0.85);
    background: rgba(0, 180, 219, 0.45);
    box-shadow: 0 0 16px rgba(0, 180, 219, 0.45);
}

.wiki-dish-upgrades__rail-line {
    flex: 1;
    width: 3px;
    min-height: 2rem;
    margin-top: 0.4rem;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 215, 0, 0.55) 0%, rgba(0, 180, 219, 0.28) 100%);
}

.wiki-dish-upgrades__step-card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.05rem 0.9rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.04), transparent 42%),
        rgba(0, 0, 0, 0.38);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.wiki-dish-upgrades__step:hover .wiki-dish-upgrades__step-card {
    border-color: rgba(255, 215, 0, 0.38);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.34);
    transform: translateY(-1px);
}

.wiki-dish-upgrades__step.is-alt .wiki-dish-upgrades__step-card {
    background:
        linear-gradient(145deg, rgba(0, 180, 219, 0.05), transparent 42%),
        rgba(0, 0, 0, 0.34);
}

.wiki-dish-upgrades__step.is-max .wiki-dish-upgrades__step-card {
    border-color: rgba(0, 180, 219, 0.45);
    background:
        linear-gradient(135deg, rgba(0, 180, 219, 0.18), rgba(255, 215, 0, 0.1)),
        rgba(0, 0, 0, 0.32);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.05),
        0 12px 32px rgba(0, 180, 219, 0.12);
}

.wiki-dish-upgrades__step-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.wiki-dish-upgrades__level-badge {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    padding: 0.28rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 215, 0, 0.48);
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.14), rgba(0, 0, 0, 0.45));
    color: var(--sushi-yellow);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.wiki-dish-upgrades__level-badge strong {
    font-size: 1.08rem;
    color: #fff;
}

.wiki-dish-upgrades__step.is-max .wiki-dish-upgrades__level-badge {
    border-color: rgba(0, 180, 219, 0.55);
    background: linear-gradient(135deg, rgba(0, 180, 219, 0.18), rgba(0, 0, 0, 0.45));
    color: var(--sushi-cyan);
}

.wiki-dish-upgrades__price-gain {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    background: rgba(80, 200, 120, 0.18);
    border: 1px solid rgba(80, 200, 120, 0.4);
    color: #9ef0b8;
    font-size: 0.74rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.wiki-dish-upgrades__price-gain i {
    font-size: 0.68rem;
    opacity: 0.9;
}

.wiki-dish-upgrades__price-gain--base {
    background: rgba(255, 215, 0, 0.14);
    border-color: rgba(255, 215, 0, 0.38);
    color: var(--sushi-yellow);
}

.wiki-dish-upgrades__step-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 0.85rem 1.1rem;
    align-items: stretch;
}

.wiki-dish-upgrades__step.is-max .wiki-dish-upgrades__step-body {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.wiki-dish-upgrades__price-panel {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
    padding-right: 0.85rem;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.wiki-dish-upgrades__step.is-max .wiki-dish-upgrades__price-panel {
    border-right-color: rgba(0, 180, 219, 0.22);
}

.wiki-dish-upgrades__price-label,
.wiki-dish-upgrades__cost-label {
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.wiki-dish-upgrades__price-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.wiki-dish-upgrades__price-value {
    font-size: 1.65rem;
    font-weight: 900;
    color: #fff;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.wiki-dish-upgrades__step.is-max .wiki-dish-upgrades__price-value {
    color: var(--sushi-yellow);
    text-shadow: 0 0 20px rgba(255, 215, 0, 0.28);
}

.wiki-dish-upgrades__price-coin {
    display: inline-flex;
    width: 1.85rem;
    height: 1.85rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(255, 215, 0, 0.28), rgba(255, 215, 0, 0.1));
    border: 1px solid rgba(255, 215, 0, 0.35);
    color: var(--sushi-yellow);
    font-size: 0.86rem;
    flex-shrink: 0;
}

.wiki-dish-upgrades__price-track {
    height: 0.55rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
    margin-top: -0.1rem;
}

.wiki-dish-upgrades__price-bar {
    display: block;
    height: 100%;
    min-width: 4%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(0, 180, 219, 0.95), rgba(255, 215, 0, 0.98));
    box-shadow: 0 0 14px rgba(64, 196, 220, 0.4);
}

.wiki-dish-upgrades__step.is-max .wiki-dish-upgrades__price-bar {
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.98), rgba(255, 255, 255, 0.92));
    box-shadow: 0 0 16px rgba(255, 215, 0, 0.45);
}

.wiki-dish-upgrades__cost-panel {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: center;
    min-width: 0;
}

.wiki-dish-upgrades__cost-panel--max {
    align-items: flex-start;
    justify-content: center;
    padding-left: 0.15rem;
}

.wiki-dish-upgrades__max-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.95rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 180, 219, 0.48);
    background: linear-gradient(135deg, rgba(0, 180, 219, 0.2), rgba(255, 215, 0, 0.08));
    color: #d8f6ff;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
}

.wiki-dish-upgrades__max-badge i {
    color: var(--sushi-yellow);
}

.wiki-dish-upgrades__cost-empty {
    color: var(--sushi-muted);
    font-size: 0.92rem;
    padding: 0.35rem 0;
}

.wiki-dish-upgrades__ingredients {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.wiki-dish-upgrades__ingredient {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.6rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 215, 0, 0.36);
    background: linear-gradient(135deg, rgba(3, 17, 22, 0.95), rgba(6, 42, 54, 0.88));
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
    min-width: 0;
}

a.wiki-dish-upgrades__ingredient:hover {
    border-color: rgba(255, 215, 0, 0.62);
    background: linear-gradient(135deg, rgba(6, 42, 54, 0.98), rgba(10, 74, 92, 0.9));
    transform: translateX(2px);
}

.wiki-dish-upgrades__ingredient .weapon-component__icon,
.wiki-dish-upgrades__ingredient .wiki-drop-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.4);
    flex-shrink: 0;
}

.wiki-dish-upgrades__ingredient-name {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.9rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

a.wiki-dish-upgrades__ingredient:hover .wiki-dish-upgrades__ingredient-name {
    color: var(--sushi-yellow);
}

.wiki-dish-upgrades__ingredient-qty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    padding: 0.38rem 0.62rem;
    border-radius: 9px;
    background: linear-gradient(145deg, #ffe566, var(--sushi-yellow));
    color: #061a21;
    font-size: 0.84rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(255, 215, 0, 0.25);
}

@media (max-width: 900px) {
    .wiki-dish-upgrades__step-body {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .wiki-dish-upgrades__price-panel {
        padding-right: 0;
        padding-bottom: 0.75rem;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .wiki-dish-upgrades__step.is-max .wiki-dish-upgrades__price-panel {
        border-bottom-color: rgba(0, 180, 219, 0.22);
    }

    .wiki-dish-upgrades__cost-panel--max {
        padding-left: 0;
    }
}

@media (max-width: 720px) {
    .wiki-dish-upgrades {
        padding: 1.1rem 0.9rem 1.25rem;
        border-radius: 16px;
    }

    .wiki-dish-upgrades__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .wiki-dish-upgrades__summary-card {
        padding: 0.65rem 0.45rem;
    }

    .wiki-dish-upgrades__summary-label {
        font-size: 0.58rem;
        letter-spacing: 0.05em;
    }

    .wiki-dish-upgrades__summary-value {
        font-size: 1.05rem;
    }

    .wiki-dish-upgrades__step {
        grid-template-columns: 1.5rem minmax(0, 1fr);
        gap: 0.7rem;
    }

    .wiki-dish-upgrades__step-card {
        padding: 0.85rem 0.8rem 0.75rem;
    }

    .wiki-dish-upgrades__price-value {
        font-size: 1.45rem;
    }

    .wiki-dish-upgrades__ingredient .weapon-component__icon,
    .wiki-dish-upgrades__ingredient .wiki-drop-icon {
        width: 2.15rem;
        height: 2.15rem;
    }
}

@media (max-width: 560px) {
    .wiki-dish-upgrades__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .wiki-dish-upgrades__dish-link {
        width: 100%;
        justify-content: flex-start;
    }

    .wiki-dish-upgrades__lead {
        font-size: 0.88rem;
    }

    .wiki-dish-upgrades__level-badge strong {
        font-size: 1rem;
    }

    .wiki-dish-upgrades__ingredient {
        padding: 0.45rem 0.5rem;
        gap: 0.5rem;
    }

    .wiki-dish-upgrades__ingredient-name {
        font-size: 0.84rem;
    }
}

@media (max-width: 400px) {
    .wiki-dish-upgrades {
        padding: 0.95rem 0.7rem 1.1rem;
        margin-top: 1.25rem;
    }

    .wiki-dish-upgrades__summary-value {
        font-size: 0.95rem;
    }

    .wiki-dish-upgrades__price-value {
        font-size: 1.32rem;
    }
}

.weapon-component--empty {
    padding: 0 0.9rem;
    color: var(--sushi-muted);
}

.weapon-profile__body {
    margin-top: 1.35rem;
    max-width: none;
}

@media (max-width: 560px) {
    .weapon-profile__image-wrap {
        min-height: 10rem;
    }

    .weapon-profile__image-wrap--fish {
        height: 10rem;
        min-height: 10rem;
        max-height: 10rem;
    }

    .weapon-profile__image-wrap--fish-boost .weapon-profile__image {
        max-height: 9.5rem;
    }

    .weapon-stat {
        max-width: none;
    }

    .wiki-entry-detail {
        flex-direction: column;
    }

    .wiki-entry-detail__label {
        width: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 215, 0, 0.22);
    }

    .wiki-equipment-upgrades__stat-cell {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .wiki-equipment-upgrades__stat-value {
        text-align: left;
    }

    .wiki-equipment-upgrades__table thead th:last-child,
    .wiki-equipment-upgrades__table td:last-child {
        width: auto;
    }
}

/* Scrollbar (desktop) */
@media (min-width: 769px) {
    ::-webkit-scrollbar {
        width: 10px;
    }

    ::-webkit-scrollbar-track {
        background: var(--sushi-deep);
    }

    ::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, var(--sushi-cyan), var(--sushi-teal));
        border-radius: 5px;
        border: 1px solid var(--sushi-border);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ——— Account / Shop / Profile (premium) ——— */

@keyframes accountFadeUp {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes accountModalIn {
    from { opacity: 0; transform: translateY(18px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes accountGlowPulse {
    0%, 100% { opacity: 0.45; }
    50% { opacity: 0.75; }
}

@keyframes accountShimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}

.account-page {
    --account-gold: #f0ca4a;
    --account-gold-top: #d4ad5c;
    --account-gold-mid: #e8bf2e;
    --account-gold-dim: #9a6e12;
    --account-surface: rgba(10, 28, 36, 0.88);
    --account-surface-border: rgba(0, 180, 219, 0.32);
    position: relative;
    overflow: hidden;
    padding: calc(var(--site-nav-height, 4rem) + 1.5rem) 0 4rem;
    min-height: 70vh;
    background:
        radial-gradient(ellipse 90% 55% at 15% -5%, rgba(0, 180, 219, 0.14), transparent 55%),
        radial-gradient(ellipse 70% 45% at 95% 10%, rgba(255, 215, 0, 0.08), transparent 50%),
        linear-gradient(180deg, #041820 0%, var(--sushi-deep) 42%, #072530 100%);
}

.account-page__glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    /* Soft glow via a radial gradient instead of filter: blur(). A blur filter
       allocates a rectangular filter-region layer that Chrome/Safari composite
       with a hard rectangular edge on the first paint frames (the "ghost
       rectangle" flash during load). A gradient that fades to transparent gives
       the same look with no filter layer and no load-time artifact. */
    animation: accountGlowPulse 8s ease-in-out infinite;
}

.account-page__glow--left {
    width: 440px;
    height: 440px;
    top: 8%;
    left: -160px;
    background: radial-gradient(circle, rgba(0, 180, 219, 0.22) 0%, rgba(0, 180, 219, 0) 70%);
}

.account-page__glow--right {
    width: 380px;
    height: 380px;
    top: 18%;
    right: -120px;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.12) 0%, rgba(255, 215, 0, 0) 70%);
    animation-delay: 2s;
}

.account-page__inner {
    position: relative;
    z-index: 1;
    max-width: 68rem;
}

.account-page__eyebrow {
    margin: 0 0 0.65rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sushi-cyan);
}

.account-page__header {
    margin-bottom: 1.75rem;
    animation: accountFadeUp 0.5s ease both;
}

.account-page__header-row {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
}

.account-page__header-badge {
    display: inline-flex;
    flex-shrink: 0;
    width: 3.75rem;
    height: 3.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.32), rgba(0, 100, 130, 0.15));
    border: 1px solid rgba(0, 180, 219, 0.45);
    color: var(--account-gold);
    font-size: 1.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), 0 0 24px rgba(0, 180, 219, 0.12);
}

.account-page__title {
    margin: 0 0 0.45rem;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: clamp(2rem, 5vw, 2.75rem);
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.05;
    background: linear-gradient(
        180deg,
        var(--account-gold-top) 0%,
        var(--account-gold-mid) 28%,
        #ecc22f 52%,
        var(--account-gold) 72%,
        var(--account-gold-dim) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.account-page__lead {
    margin: 0;
    max-width: 40rem;
    color: rgba(180, 210, 218, 0.92);
    font-size: 1.05rem;
    line-height: 1.55;
}

.account-surface {
    position: relative;
    margin-bottom: 1.35rem;
    padding: 1.35rem 1.25rem;
    border-radius: 18px;
    border: 1px solid var(--account-surface-border);
    background: var(--account-surface);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.28);
    animation: accountFadeUp 0.55s ease both;
}

.account-surface::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(0, 180, 219, 0.35), transparent 40%, rgba(255, 215, 0, 0.2));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

/* Nav auth */
.account-tools { display: inline-flex; align-items: center; flex-shrink: 0; }

[data-auth-guest][hidden],
.is-guest-only[hidden] {
    display: none !important;
}

[data-auth-user][hidden],
.is-auth-only[hidden] {
    display: none !important;
}

.btn--nav-auth {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.52rem 1.05rem;
    font-size: 0.875rem;
    font-weight: 700;
    border-radius: 999px;
    border: 1.5px solid rgba(255, 215, 0, 0.5);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.04) 100%);
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.btn--nav-auth:hover {
    border-color: var(--sushi-yellow);
    color: var(--sushi-yellow);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(255, 215, 0, 0.15);
}

.site-nav__link--shop.is-auth-only:not([hidden]) { display: inline-flex; }
.site-nav__link--shop { color: var(--sushi-yellow); font-weight: 700; }

.account-menu { position: relative; }

.account-menu__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.38rem 0.75rem 0.38rem 0.38rem;
    border-radius: 999px;
    border: 1.5px solid rgba(0, 180, 219, 0.5);
    background: linear-gradient(135deg, rgba(10, 74, 92, 0.9), rgba(6, 42, 54, 0.95));
    color: #fff;
    cursor: pointer;
    max-width: 12rem;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.account-menu__trigger:hover,
.account-menu__trigger[aria-expanded="true"] {
    border-color: var(--sushi-yellow);
    box-shadow: 0 8px 24px rgba(0, 180, 219, 0.22);
}

.account-menu__avatar {
    display: inline-flex;
    width: 1.9rem;
    height: 1.9rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.5), rgba(0, 136, 168, 0.28));
    color: #fff;
    font-size: 0.92rem;
}

.account-menu__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
    font-weight: 700;
}

.account-menu__caret {
    width: 0; height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid var(--sushi-yellow);
}

/* Account menu — avatar only on very narrow screens */
@media (max-width: 480px) {
    .account-menu__trigger {
        padding: 0;
        gap: 0;
        border-radius: 50%;
        max-width: none;
    }

    .account-menu__trigger .account-menu__avatar {
        width: 2.35rem;
        height: 2.35rem;
        font-size: 1rem;
    }

    .account-menu__trigger .account-menu__name,
    .account-menu__trigger .account-menu__caret {
        display: none !important;
    }
}

.account-menu__list {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    min-width: 13rem;
    margin: 0;
    padding: 0.45rem;
    list-style: none;
    border-radius: 14px;
    border: 1px solid rgba(0, 180, 219, 0.42);
    background: linear-gradient(165deg, rgba(10, 50, 62, 0.98), rgba(6, 32, 42, 0.98));
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.48);
    z-index: 120;
}

.account-menu__link {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.62rem 0.72rem;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: var(--sushi-text);
    text-decoration: none;
    font: inherit;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.account-menu__link i { width: 1rem; text-align: center; color: var(--sushi-cyan); }
.account-menu__link:hover { background: rgba(0, 180, 219, 0.16); color: var(--sushi-yellow); }
.account-menu__link--danger:hover { background: rgba(220, 60, 60, 0.18); color: #ffb4b4; }
.account-menu__sep { height: 1px; margin: 0.3rem 0.4rem; background: rgba(255, 255, 255, 0.1); }

/* Auth modal */
.auth-modal {
    --auth-btn-height: 46px;
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
}

.auth-modal.hidden,
.auth-modal[hidden] { display: none !important; }

.auth-modal__backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 50% 40%, rgba(0, 180, 219, 0.08), transparent 70%),
        rgba(2, 12, 18, 0.86);
    backdrop-filter: blur(12px);
}

.auth-modal__panel {
    position: relative;
    width: min(100%, 400px);
    max-height: 92vh;
    overflow: auto;
    padding: 0 1.35rem 1.35rem;
    border-radius: 22px;
    border: 1px solid rgba(0, 180, 219, 0.42);
    background:
        radial-gradient(ellipse 100% 70% at 50% -15%, rgba(0, 180, 219, 0.22), transparent 55%),
        linear-gradient(165deg, rgba(12, 58, 72, 0.97), rgba(6, 30, 40, 0.98));
    box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    animation: authModalIn 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.auth-modal__panel::before {
    content: "";
    display: block;
    height: 6px;
    margin: 0 -1.35rem 1rem;
    border-radius: 22px 22px 0 0;
    background: linear-gradient(90deg, var(--sushi-cyan), var(--sushi-yellow), var(--sushi-cyan));
    box-shadow: 0 4px 18px rgba(0, 180, 219, 0.35);
}

@keyframes authModalIn {
    from { opacity: 0; transform: scale(0.96) translateY(8px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes authBrandPulse {
    0% { transform: scale(1); box-shadow: 0 4px 14px rgba(0, 180, 219, 0.2); }
    50% { transform: scale(1.06); box-shadow: 0 6px 22px rgba(0, 180, 219, 0.45); }
    100% { transform: scale(1); box-shadow: 0 4px 14px rgba(0, 180, 219, 0.2); }
}

.auth-modal__intro { margin-bottom: 0.5rem; }

.auth-modal__head {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.15rem 0 0.85rem;
    margin-bottom: 0.15rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.auth-modal__logo-wrap {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.28);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

.auth-modal__logo {
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 11px;
    object-fit: contain;
    background: #061820;
}

.auth-modal__head-text { min-width: 0; flex: 1; }

.auth-modal__brand { display: none; }

.auth-modal__brand-icon { display: none; }

.auth-modal__close {
    flex: 0 0 auto;
    align-self: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-left: auto;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.auth-modal__close:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.3); transform: scale(1.05); }
.auth-modal__close:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0, 180, 219, 0.45); }

.auth-modal__title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
}

.auth-modal__subtitle {
    margin: 0.35rem 0 0;
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0;
    text-transform: none;
    color: rgba(255, 255, 255, 0.62);
}

.auth-modal__error-slot { margin-top: 0.5rem; }

.auth-modal__tabs,
.auth-modal__tab,
.auth-modal__form,
.auth-modal__forgot { display: none !important; }

.auth-field { display: flex; flex-direction: column; gap: 0.35rem; }
.auth-field__label { font-size: 0.8rem; font-weight: 600; color: var(--sushi-muted); letter-spacing: 0.02em; }

.auth-field__input {
    padding: 0.72rem 0.88rem;
    border-radius: 11px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    font: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.auth-field__input:focus {
    outline: none;
    border-color: var(--sushi-cyan);
    box-shadow: 0 0 0 3px rgba(0, 180, 219, 0.24);
}

.auth-modal__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.15rem;
    width: 100%;
    padding: 0.75rem 1.25rem;
}

.auth-modal__submit.is-loading { pointer-events: none; opacity: 0.82; }

.auth-modal__submit-spinner {
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: authSpin 0.7s linear infinite;
}

.auth-modal__submit-spinner.hidden { display: none !important; }

@keyframes authSpin { to { transform: rotate(360deg); } }

.auth-oauth { margin-top: 0; }
.auth-oauth--stack { display: flex; flex-direction: column; gap: 0.65rem; margin-top: 0; }

.auth-oauth__divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.15rem 0;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.42);
    text-transform: lowercase;
}

.auth-oauth__divider::before,
.auth-oauth__divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
}

.auth-oauth__social { display: flex; flex-direction: column; gap: 0.6rem; }

.auth-oauth__social-label {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.38);
}

.auth-oauth__btn {
    display: grid;
    grid-template-columns: 3rem 1fr 3rem;
    align-items: center;
    width: 100%;
    min-height: var(--auth-btn-height);
    padding: 0;
    box-sizing: border-box;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    font: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.auth-oauth__slot {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.auth-oauth__slot--lead,
.auth-oauth__slot--trail {
    width: 3rem;
    flex-shrink: 0;
}

.auth-oauth__slot--trail {
    justify-content: flex-end;
    padding-right: 0.15rem;
}

.auth-oauth__btn--soon .auth-oauth__slot--trail {
    padding-right: calc((var(--auth-btn-height) - 0.68rem - 0.4rem - 2px) / 2);
}

.auth-oauth__slot--label {
    text-align: center;
    justify-content: center;
    padding: 0 0.25rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.auth-oauth__btn .auth-oauth__label { grid-column: auto; text-align: center; }
.auth-oauth__btn .auth-oauth__icon { grid-column: auto; justify-self: center; }
.auth-oauth__btn .auth-oauth__soon { grid-column: auto; justify-self: flex-end; margin: 0; }

.auth-oauth__btn:hover:not(:disabled) { transform: translateY(-2px); }
.auth-oauth__btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0, 180, 219, 0.4); }

.auth-oauth__icon {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    align-items: center;
    justify-content: center;
}

.auth-oauth__icon svg { display: block; width: 1.25rem; height: 1.25rem; }
.auth-oauth__icon--apple i { font-size: 1.2rem; }

.auth-oauth__btn--player-id {
    background: linear-gradient(135deg, rgba(0, 180, 219, 0.55), rgba(0, 136, 168, 0.42));
    color: #fff;
    border-color: rgba(0, 180, 219, 0.55);
    box-shadow: 0 6px 20px rgba(0, 180, 219, 0.22);
}

.auth-oauth__btn--player-id:hover {
    background: linear-gradient(135deg, rgba(0, 180, 219, 0.68), rgba(0, 136, 168, 0.55));
    box-shadow: 0 10px 28px rgba(0, 180, 219, 0.32);
}

.auth-oauth__btn--apple {
    background: #0a0a0a;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.28);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.38);
}

.auth-oauth__google-stack {
    position: relative;
    width: 100%;
    min-height: var(--auth-btn-height);
}

.auth-oauth__btn--decor {
    pointer-events: none;
    user-select: none;
    width: 100%;
}

.auth-oauth__native {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
    border-radius: 12px;
    opacity: 0.02;
    cursor: pointer;
}

.auth-oauth__google-stack.is-loading .auth-oauth__btn--decor {
    opacity: 0.72;
}

.auth-oauth__native > div,
.auth-oauth__native iframe {
    width: 100% !important;
    min-height: var(--auth-btn-height) !important;
    height: var(--auth-btn-height) !important;
    margin: 0 !important;
}

.auth-oauth__btn--google {
    background: #fff;
    color: #1f1f1f;
    border-color: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
}

.auth-oauth__btn--google:hover:not(:disabled) {
    background: #f8f8f8;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.auth-oauth__btn--google.is-loading {
    pointer-events: none;
    opacity: 0.82;
}

.auth-oauth__icon--google svg { display: block; width: 1.25rem; height: 1.25rem; }

.auth-modal__step {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-top: 0.75rem;
    animation: authStepIn 0.15s ease both;
}

@keyframes authStepIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.auth-modal__step.hidden,
.auth-modal__step[hidden] { display: none !important; }

.auth-modal__error {
    margin: 0;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #ffb4b4;
    background: rgba(220, 60, 60, 0.16);
    border: 1px solid rgba(220, 60, 60, 0.35);
}
.auth-modal__error.hidden,
.auth-modal__error[hidden] { display: none !important; }

.auth-modal__back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.15rem;
    padding: 0.35rem 0;
    border: none;
    background: none;
    color: var(--sushi-cyan);
    font: inherit;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
}
.auth-modal__back:hover { color: var(--sushi-yellow); }
.auth-modal__back:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0, 180, 219, 0.35); border-radius: 6px; }

.auth-step-indicator {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(0, 180, 219, 0.85);
}

.auth-oauth__google-row {
    position: relative;
    width: 100%;
    min-height: var(--auth-btn-height);
}

.auth-oauth__google-skeleton {
    position: absolute;
    inset: 0;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.14) 50%, rgba(255, 255, 255, 0.06) 100%);
    background-size: 200% 100%;
    animation: authSkeletonShimmer 1.2s ease-in-out infinite;
}

.auth-oauth__google-skeleton.is-hidden { display: none !important; }

@keyframes authSkeletonShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.auth-oauth__google-wrap {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    min-height: var(--auth-btn-height);
    overflow: hidden;
    border-radius: 12px;
}

.auth-oauth__google-wrap > div,
.auth-oauth__google-wrap iframe {
    width: 100% !important;
    min-height: var(--auth-btn-height) !important;
    height: var(--auth-btn-height) !important;
}

.auth-oauth__google-wrap iframe {
    margin: 0 !important;
    border-radius: 12px !important;
}

.auth-oauth__btn--soon,
.auth-oauth__btn--apple:disabled {
    opacity: 0.68;
    cursor: not-allowed;
    transform: none !important;
}
.auth-oauth__btn--soon:hover,
.auth-oauth__btn--apple:disabled:hover { transform: none; box-shadow: none; }

.auth-oauth__soon {
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.oauth-callback-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.25rem;
    background: #061820;
    color: #fff;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.oauth-callback__card {
    width: min(100%, 22rem);
    padding: 1.5rem 1.25rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    text-align: center;
}

.oauth-callback__title {
    margin: 0 0 0.5rem;
    font-size: 1.15rem;
    font-weight: 800;
}

.oauth-callback__status {
    margin: 0;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.72);
}

.oauth-callback__status--error {
    color: #ffb4b4;
}

.auth-field__hint {
    margin: -0.25rem 0 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.52);
}

.auth-field__example {
    margin: -0.15rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(0, 180, 219, 0.75);
}

.auth-field__input--player-id {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.auth-info-card {
    margin: 0;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.auth-info-card__title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.5rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--sushi-cyan);
}

.auth-info-card__list {
    margin: 0;
    padding-left: 1.15rem;
    font-size: 0.78rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.58);
}

.auth-info-card__list li + li { margin-top: 0.25rem; }

.auth-code-target-chip {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.auth-code-target-chip__btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    width: 100%;
    padding: 0.55rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 180, 219, 0.35);
    background: rgba(0, 180, 219, 0.12);
    color: var(--sushi-yellow);
    font: inherit;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.auth-code-target-chip__btn code {
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.auth-code-target-chip__btn:hover { background: rgba(0, 180, 219, 0.2); border-color: rgba(0, 180, 219, 0.5); }
.auth-code-target-chip__btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0, 180, 219, 0.35); }

.auth-code-timer-wrap {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.auth-code-timer-card {
    width: 100%;
    margin-top: 0.15rem;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 180, 219, 0.28);
    background: rgba(0, 180, 219, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.auth-code-timer-card--warn {
    border-color: rgba(255, 215, 0, 0.45);
    background: rgba(255, 215, 0, 0.08);
}

.auth-code-timer-card--danger {
    border-color: rgba(255, 120, 80, 0.55);
    background: rgba(255, 80, 60, 0.1);
}

.auth-code-timer-card--expired {
    border-color: rgba(255, 80, 80, 0.55);
    background: rgba(255, 60, 60, 0.12);
}

.auth-code-timer-ring-wrap {
    position: relative;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
}

.auth-code-timer-ring {
    display: block;
    width: 2.75rem;
    height: 2.75rem;
    transform: rotate(-90deg);
}

.auth-code-timer-ring__track {
    fill: none;
    stroke: rgba(255, 255, 255, 0.12);
    stroke-width: 3;
}

.auth-code-timer-ring__progress {
    fill: none;
    stroke: var(--sushi-cyan);
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.35s linear, stroke 0.25s ease;
}

.auth-code-timer-card--warn .auth-code-timer-ring__progress { stroke: var(--sushi-yellow); }
.auth-code-timer-card--danger .auth-code-timer-ring__progress,
.auth-code-timer-card--expired .auth-code-timer-ring__progress { stroke: #ff7b6b; }

.auth-code-timer-ring__icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.42);
    pointer-events: none;
}

.auth-code-timer {
    margin: 0;
    font-size: 0.84rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.35;
}

.auth-code-timer__label {
    color: rgba(255, 255, 255, 0.62);
    font-weight: 600;
}

.auth-code-timer strong {
    font-variant-numeric: tabular-nums;
    font-size: 1rem;
    color: var(--sushi-cyan);
}

.auth-code-timer-card--warn .auth-code-timer strong { color: var(--sushi-yellow); }
.auth-code-timer-card--danger .auth-code-timer strong,
.auth-code-timer-card--expired .auth-code-timer strong { color: #ff9b8f; }

.auth-code-timer__suffix {
    margin-left: 0.05rem;
    color: rgba(255, 255, 255, 0.55);
}

@media (prefers-reduced-motion: reduce) {
    .auth-code-timer-ring__progress { transition: none; }
}

.auth-field__input--code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 1.15rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;
}

@media (max-width: 639px) {
    .auth-modal { --auth-btn-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .auth-modal__panel,
    .auth-modal__step,
    .auth-modal__brand-icon.is-pulse,
    .auth-oauth__google-skeleton,
    .auth-modal__submit-spinner {
        animation: none !important;
    }
    .auth-oauth__btn:hover:not(:disabled) { transform: none; }
}
.auth-modal__hint {
    margin: 1rem 0 0;
    padding: 0.7rem 0.8rem;
    border-radius: 11px;
    font-size: 0.78rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.55);
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.profile-share-link {
    margin-top: 1rem;
}
.profile-share-link__lead {
    margin: 0 0 0.85rem;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.68);
}
.profile-share-link__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: stretch;
}
.profile-share-link__input {
    flex: 1 1 12rem;
    min-width: 0;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.28);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.82rem;
}
.profile-wallet__backend-note {
    margin: 0.75rem 0 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.58);
    line-height: 1.45;
}

/* Alerts & status */
.account-alert {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1.5rem;
    padding: 0.95rem 1.15rem;
    border-radius: 14px;
    border: 1px solid rgba(0, 180, 219, 0.38);
    background: linear-gradient(135deg, rgba(8, 42, 54, 0.82), rgba(6, 30, 40, 0.72));
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
    animation: accountFadeUp 0.5s ease 0.05s both;
}

.account-alert[hidden] { display: none; }

.account-alert__icon {
    display: inline-flex;
    width: 2.15rem;
    height: 2.15rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 180, 219, 0.22);
    color: var(--sushi-cyan);
    flex-shrink: 0;
}

.account-alert__text { margin: 0; flex: 1 1 12rem; color: var(--sushi-text); font-size: 0.94rem; line-height: 1.45; }
.btn--sm { padding: 0.5rem 1rem; font-size: 0.88rem; border-radius: 10px; }

.shop-status-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1.35rem;
    padding: 0.95rem 1.15rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 215, 0, 0.32);
    background: linear-gradient(135deg, rgba(20, 60, 75, 0.78), rgba(8, 36, 48, 0.85));
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.26);
    animation: accountFadeUp 0.5s ease 0.08s both;
}

.shop-status-card[hidden] { display: none; }

.shop-status-card__sync {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(80, 200, 120, 0.18);
    color: #9ef0b8;
    font-size: 1rem;
    flex-shrink: 0;
}

.shop-status-card__main { flex: 1; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.4rem 1rem; }
.shop-status-card__welcome { margin: 0; font-size: 0.95rem; color: var(--sushi-muted); }
.shop-status-card__welcome strong { color: #fff; font-weight: 800; }
.shop-status-card__id { font-size: 0.85rem; color: var(--sushi-muted); }
.shop-status-card__id code { padding: 0.15rem 0.45rem; border-radius: 6px; background: rgba(0, 180, 219, 0.15); color: var(--sushi-cyan); font-weight: 700; font-size: 0.88rem; }

/* Tabs */
.shop-tabs-sticky {
    position: sticky;
    top: calc(var(--site-nav-height, 4rem) + 0.35rem);
    z-index: 5;
    margin-bottom: 1.25rem;
}

.shop-tabs-sticky[hidden] { display: none; }

.shop-tabs {
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    margin: 0;
    padding: 0.35rem;
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.shop-tabs[hidden] { display: none; }

.shop-tabs__indicator {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    border-radius: 10px;
    border: 1px solid rgba(0, 180, 219, 0.42);
    background: linear-gradient(180deg, rgba(12, 58, 74, 0.98), rgba(8, 40, 52, 0.95));
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    pointer-events: none;
    transform: translate3d(0, 0, 0);
    transition:
        transform 0.34s cubic-bezier(0.33, 1, 0.68, 1),
        width 0.34s cubic-bezier(0.33, 1, 0.68, 1),
        height 0.34s cubic-bezier(0.33, 1, 0.68, 1),
        opacity 0.2s ease;
    will-change: transform, width;
}

.shop-tabs__indicator.is-instant {
    transition: none;
}

.shop-tabs__indicator[hidden] {
    opacity: 0;
}

.shop-tabs__btn {
    position: relative;
    z-index: 1;
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0.6rem 0.65rem;
    border-radius: 10px;
    border: 1px solid transparent;
    background: transparent;
    color: rgba(255, 255, 255, 0.52);
    font-weight: 600;
    font-size: 0.84rem;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition: color 0.28s ease, opacity 0.28s ease;
}

.shop-tabs__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.1rem;
    font-size: 0.9rem;
    line-height: 1;
    opacity: 0.85;
}

.shop-tabs__label {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shop-tabs__btn:hover:not(.is-active) {
    color: rgba(255, 255, 255, 0.88);
    background: rgba(255, 255, 255, 0.04);
}

.shop-tabs__btn:focus-visible {
    outline: 2px solid rgba(0, 180, 219, 0.65);
    outline-offset: 2px;
}

.shop-tabs__btn.is-active {
    color: #fff;
}

.shop-tabs__btn.is-active .shop-tabs__icon {
    color: var(--sushi-cyan);
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .shop-tabs__indicator {
        transition: none;
    }

    .shop-tabs__btn {
        transition: color 0.15s ease;
    }
}

@media (max-width: 420px) {
    .shop-tabs {
        gap: 0.28rem;
        padding: 0.28rem;
    }

    .shop-tabs__btn {
        flex-direction: column;
        gap: 0.2rem;
        min-height: 3.15rem;
        padding: 0.5rem 0.35rem;
        font-size: 0.72rem;
    }

    .shop-tabs__icon {
        font-size: 0.95rem;
    }
}

@media (max-width: 340px) {
    .shop-tabs__label {
        font-size: 0.66rem;
    }
}

.shop-panel__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.75rem 1rem; margin-bottom: 1.15rem; }
.shop-panel__title { margin: 0 0 0.3rem; font-size: 1.35rem; font-weight: 800; color: #fff; }
.shop-panel__lead { margin: 0; color: var(--sushi-muted); font-size: 0.92rem; line-height: 1.45; }

.btn--ghost {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    border-radius: 10px;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.btn--ghost:hover { border-color: var(--sushi-cyan); background: rgba(0, 180, 219, 0.1); }

.shop-panel--catalog { animation-delay: 0.1s; }

/* Inventory */
.shop-inv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-items: stretch;
}

.shop-inv-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 8.75rem;
    padding: 0.85rem 0.65rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(165deg, rgba(15, 45, 58, 0.85), rgba(0, 0, 0, 0.28));
    text-align: center;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.shop-inv-card__icon,
.shop-inv-card__img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    margin: 0 auto 0.4rem;
    display: block;
    flex-shrink: 0;
    filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.4));
}

.shop-inv-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 180, 219, 0.4);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32);
}

.shop-inv-card__name {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.15rem;
    line-height: 1.25;
    width: 100%;
}
.shop-inv-card__cat { display: block; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--sushi-cyan); }

.shop-inv-card__qty {
    display: inline-block;
    margin-top: 0.4rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.82rem;
    color: var(--sushi-deep);
    background: linear-gradient(180deg, #ffe566, var(--sushi-yellow));
    box-shadow: 0 2px 8px rgba(255, 215, 0, 0.25);
}

.shop-inv-dashboard {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
}

.shop-inv-dashboard.is-syncing { opacity: 0.45; pointer-events: none; }

.shop-inv-wallet {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.shop-inv-depth-card {
    grid-column: 1 / -1;
}

@media (min-width: 900px) {
    .shop-inv-wallet {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(9.5rem, 0.8fr);
        gap: 0.85rem;
    }

    .shop-inv-depth-card {
        grid-column: auto;
    }
}

.shop-inv-wallet-card {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    min-width: 0;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(155deg, rgba(18, 52, 66, 0.9), rgba(0, 0, 0, 0.35));
}

.shop-inv-wallet-card--gems { border-color: rgba(255, 105, 180, 0.35); }
.shop-inv-wallet-card--gold { border-color: rgba(255, 215, 0, 0.35); }

.shop-inv-wallet-card__img {
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.4));
}

.shop-inv-wallet-card__meta {
    flex: 1 1 auto;
    min-width: 0;
}

.shop-inv-wallet-card__label {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 0.12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shop-inv-wallet-card__value {
    display: block;
    font-size: clamp(0.82rem, 2.8vw, 1.2rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

@media (max-width: 520px) {
    .shop-inv-wallet-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.35rem;
        padding: 0.55rem 0.6rem;
    }

    .shop-inv-wallet-card__img {
        width: 2.25rem;
        height: 2.25rem;
    }

    .shop-inv-wallet-card__value {
        font-size: 1rem;
        overflow: visible;
        text-overflow: clip;
        white-space: nowrap;
    }
}

.shop-inv-depth-card {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(0, 180, 219, 0.35);
    background: linear-gradient(155deg, rgba(0, 80, 110, 0.45), rgba(0, 0, 0, 0.3));
}

.shop-inv-depth-card__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(0, 180, 219, 0.15);
    color: var(--sushi-cyan);
    font-size: 1.1rem;
}

.shop-inv-depth-card__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.55);
}

.shop-inv-depth-card__value {
    display: block;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--sushi-cyan);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.shop-inv-section__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.65rem;
    font-size: 0.95rem;
    font-weight: 800;
    color: #fff;
}

.shop-inv-section__title i { color: var(--sushi-cyan); font-size: 0.9rem; }

.shop-inv-section__lead {
    margin: -0.35rem 0 0.75rem;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.45;
}

.shop-inv-equipped {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.85rem;
}

.shop-inv-equipped__slot {
    min-width: 0;
}

.shop-inv-grid--slot {
    grid-template-columns: minmax(0, 1fr);
    max-width: 12rem;
}

.shop-inv-equipped__label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 560px) {
    .shop-inv-equipped { grid-template-columns: 1fr; }
    .shop-inv-grid--slot { max-width: none; }
}

.shop-inv-section--equipped .shop-inv-card--equipped {
    border-color: rgba(0, 220, 130, 0.55);
    box-shadow: 0 0 0 1px rgba(0, 220, 130, 0.2), 0 10px 24px rgba(0, 0, 0, 0.28);
}

.shop-inv-card { position: relative; }

.shop-inv-card--equipped { border-color: rgba(0, 220, 130, 0.4); }

.shop-inv-card--equippable {
    cursor: pointer;
    user-select: none;
}

.shop-inv-card--equippable:hover:not(.shop-inv-card--equipped) {
    border-color: rgba(0, 180, 219, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
}

.shop-inv-card--equippable:focus-visible {
    outline: 2px solid rgba(0, 180, 219, 0.65);
    outline-offset: 2px;
}

.shop-inv-equipped__slot .shop-inv-card {
    cursor: default;
}

.shop-inv-equipped__slot .shop-inv-card:hover {
    transform: none;
    box-shadow: none;
}

.shop-inv-card--recipe {
    border-color: rgba(180, 120, 255, 0.4);
    background: linear-gradient(165deg, rgba(40, 25, 70, 0.75), rgba(0, 0, 0, 0.3));
}

.shop-inv-card--stack { border-color: rgba(255, 215, 0, 0.35); }

.shop-inv-card__badge {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    z-index: 1;
}

.shop-inv-card__badge--equipped {
    color: #042a1a;
    background: linear-gradient(180deg, #6effb8, #00c878);
}

.shop-inv-card__badge--recipe {
    color: #1a0a30;
    background: linear-gradient(180deg, #d4b0ff, #9b5de5);
}

.shop-inv-card__stack {
    display: inline-block;
    margin-top: 0.4rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.78rem;
    color: var(--sushi-deep);
    background: linear-gradient(180deg, #ffe566, var(--sushi-yellow));
}

.shop-inv-card__level { margin-top: 0.45rem; text-align: left; }

.shop-inv-card__level-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 0.25rem;
}

.shop-inv-card__progress {
    height: 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.shop-inv-card__progress-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--sushi-cyan), #6effb8);
}

.shop-inv-equip-upgrades {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.shop-inv-equip-upgrade {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 0.85rem 0.95rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(155deg, rgba(12, 42, 54, 0.72), rgba(0, 0, 0, 0.28));
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.shop-inv-equip-upgrade:hover {
    border-color: rgba(0, 180, 219, 0.32);
}

.shop-inv-equip-upgrade--max {
    border-color: rgba(255, 215, 0, 0.28);
    background: linear-gradient(155deg, rgba(42, 36, 12, 0.45), rgba(0, 0, 0, 0.28));
}

.shop-inv-equip-upgrade__thumb {
    flex-shrink: 0;
    width: 3.5rem;
    height: 3.5rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    transition: background 0.18s ease;
}

.shop-inv-equip-upgrade__thumb:hover {
    background: rgba(0, 180, 219, 0.12);
}

.shop-inv-equip-upgrade__thumb img {
    width: 2.75rem;
    height: 2.75rem;
    object-fit: contain;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35));
}

.shop-inv-equip-upgrade__body { flex: 1; min-width: 0; }

.shop-inv-equip-upgrade__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    margin-bottom: 0.45rem;
}

.shop-inv-equip-upgrade__name {
    font-size: 0.9rem;
    font-weight: 800;
    color: #fff;
    margin-right: auto;
}

.shop-inv-equip-upgrade__level {
    font-size: 0.74rem;
    font-weight: 700;
    color: var(--sushi-cyan);
    white-space: nowrap;
}

.shop-inv-equip-upgrade__level-max {
    color: rgba(255, 255, 255, 0.45);
    font-weight: 600;
}

.shop-inv-equip-upgrade__max {
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: var(--sushi-deep);
    background: linear-gradient(180deg, #ffe566, var(--sushi-yellow));
}

.shop-inv-equip-upgrade__stat {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.65rem;
    margin-bottom: 0.45rem;
}

.shop-inv-equip-upgrade__stat-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.52);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.shop-inv-equip-upgrade__stat-value {
    font-size: 1.05rem;
    font-weight: 800;
    color: #fff;
}

.shop-inv-equip-upgrade__cost {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: auto;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--sushi-yellow);
}

.shop-inv-equip-upgrade__cost-label {
    color: rgba(255, 255, 255, 0.48);
    font-weight: 600;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.shop-inv-equip-upgrade__cost img {
    width: 1.05rem;
    height: 1.05rem;
    object-fit: contain;
}

.shop-inv-equip-upgrade__progress {
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.shop-inv-equip-upgrade__progress-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--sushi-cyan), #6effb8);
}

.shop-inv-equip-upgrade--max .shop-inv-equip-upgrade__progress-bar {
    background: linear-gradient(90deg, #ffb347, var(--sushi-yellow));
}

@media (max-width: 480px) {
    .shop-inv-equip-upgrade__cost {
        margin-left: 0;
        width: 100%;
        margin-top: 0.15rem;
    }
}

/* Sections */
.account-section__title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 0.85rem;
    font-size: 1.12rem;
    font-weight: 800;
    color: #fff;
}

.account-section__title--gold {
    color: var(--account-gold);
    text-shadow: 0 0 20px rgba(255, 215, 0, 0.15);
}

.account-section__title--gold i { color: var(--account-gold); }
.account-section__title--compact { margin-bottom: 0.65rem; font-size: 1rem; }
.account-section__title i { color: var(--sushi-yellow); font-size: 1rem; }

.shop-section { margin-bottom: 2rem; }
.shop-section--spotlight { margin-bottom: 2.25rem; }
.shop-section__lead { margin: 0 0 1.15rem; color: var(--sushi-muted); font-size: 0.92rem; line-height: 1.5; max-width: 42rem; }

/* Spotlight offers */
.shop-spotlight__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.15rem;
}

.shop-offer-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.2rem;
    border-radius: 18px;
    border: 1px solid var(--account-surface-border);
    background: var(--account-surface);
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.26);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.shop-offer-card:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 180, 219, 0.55);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
}

.shop-offer-card--featured {
    border-color: rgba(255, 215, 0, 0.42);
    background:
        radial-gradient(ellipse 100% 55% at 50% 0%, rgba(255, 215, 0, 0.1), transparent 58%),
        var(--account-surface);
}

.shop-offer-card--spotlight {
    min-height: 100%;
    border-width: 1.5px;
}

.shop-offer-card--spotlight.shop-offer-card--featured::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(105deg, transparent 40%, rgba(255, 215, 0, 0.12), transparent 60%);
    background-size: 200% 100%;
    animation: accountShimmer 4s linear infinite;
    pointer-events: none;
    opacity: 0.6;
}

.shop-offer-card--spotlight { position: relative; overflow: hidden; }

.shop-offer-card__thumb {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 108px;
    margin-bottom: 0.8rem;
    padding: 0.65rem;
    border-radius: 14px;
    background:
        radial-gradient(ellipse 80% 70% at 50% 35%, rgba(0, 180, 219, 0.12), transparent 65%),
        rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.shop-offer-card--spotlight .shop-offer-card__thumb {
    min-height: 128px;
    background:
        radial-gradient(ellipse 90% 75% at 50% 30%, rgba(255, 215, 0, 0.14), transparent 62%),
        radial-gradient(ellipse 70% 60% at 50% 80%, rgba(0, 180, 219, 0.1), transparent 55%),
        rgba(0, 0, 0, 0.34);
    border-color: rgba(255, 215, 0, 0.14);
}

.shop-offer-card__thumb-badges {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.shop-offer-card__thumb-badges .shop-offer-card__badge {
    margin: 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.shop-offer-card__thumb img {
    max-width: 100px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 5px 12px rgba(0, 0, 0, 0.45));
}

.shop-offer-card__icon-fa {
    display: inline-flex;
    width: 4.5rem;
    height: 4.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 180, 219, 0.16);
    color: var(--sushi-cyan);
    font-size: 1.7rem;
}

.shop-offer-card__body { flex: 1; }

.shop-offer-card__badge {
    display: inline-block;
    margin-bottom: 0.45rem;
    padding: 0.24rem 0.62rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.shop-offer-card__badge--best { background: rgba(255, 215, 0, 0.22); color: #ffe566; border: 1px solid rgba(255, 215, 0, 0.38); }
.shop-offer-card__badge--new { background: rgba(100, 200, 255, 0.18); color: #9ee0ff; border: 1px solid rgba(100, 200, 255, 0.32); }
.shop-offer-card__badge--hot { background: rgba(255, 100, 80, 0.18); color: #ffb0a0; border: 1px solid rgba(255, 100, 80, 0.32); }

.shop-offer-card__title { margin: 0 0 0.35rem; font-size: 1.12rem; font-weight: 800; color: #fff; line-height: 1.25; }
.shop-offer-card--spotlight .shop-offer-card__title { font-size: 1.22rem; }

.shop-offer-card__meta {
    margin: 0 0 0.55rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.42);
}

.shop-offer-card__desc { margin: 0 0 0.75rem; font-size: 0.88rem; color: var(--sushi-muted); line-height: 1.45; }
.shop-offer-card__includes-label { display: block; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.45); margin-bottom: 0.45rem; }

.shop-offer-card__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0; padding: 0; list-style: none; }

.shop-offer-card__rewards {
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shop-offer-card__reward {
    display: grid;
    grid-template-columns: 2rem 1fr auto auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.42rem 0.55rem;
    border-radius: 11px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.28);
    font-size: 0.76rem;
    font-weight: 600;
    color: var(--sushi-text);
    transition: border-color 0.15s ease, background 0.15s ease;
}

.shop-offer-card__reward:hover {
    border-color: rgba(0, 180, 219, 0.22);
    background: rgba(0, 180, 219, 0.06);
}

.shop-offer-card__reward.is-owned {
    border-color: rgba(80, 200, 120, 0.24);
    background: rgba(80, 200, 120, 0.07);
}

.shop-offer-card__reward--rare { border-left: 3px solid rgba(100, 180, 255, 0.55); }
.shop-offer-card__reward--epic { border-left: 3px solid rgba(180, 100, 255, 0.55); }
.shop-offer-card__reward--default { border-left: 3px solid rgba(180, 180, 180, 0.45); }

.shop-offer-card__reward--more {
    justify-content: center;
    grid-template-columns: 1fr;
    color: var(--sushi-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.shop-offer-card__reward-icon {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
}

.shop-offer-card__reward-icon--empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--sushi-cyan);
    font-size: 0.82rem;
}

.shop-offer-card__reward-name {
    min-width: 0;
    text-align: left;
    line-height: 1.25;
}

.shop-offer-card__reward-qty {
    font-weight: 800;
    color: var(--sushi-yellow);
    font-variant-numeric: tabular-nums;
}

.shop-offer-card__reward .shop-chip-wiki {
    margin-left: 0;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 7px;
    border: 1px solid rgba(0, 180, 219, 0.28);
    background: rgba(0, 0, 0, 0.32);
    opacity: 1;
}

.shop-offer-card__thumb--decor {
    min-height: 148px;
    background:
        radial-gradient(ellipse 90% 80% at 50% 20%, rgba(255, 215, 0, 0.12), transparent 62%),
        radial-gradient(ellipse 70% 60% at 50% 90%, rgba(0, 180, 219, 0.1), transparent 55%),
        rgba(0, 0, 0, 0.36);
}

.shop-offer-card__thumb--decor .shop-offer-card__decor {
    max-width: 100%;
    width: auto;
    height: auto;
    max-height: 132px;
    object-fit: contain;
}

.shop-offer-card__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    padding: 0.38rem 0.62rem 0.38rem 0.42rem;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.11);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--sushi-text);
    transition: border-color 0.15s ease, background 0.15s ease;
}

.shop-offer-card__chip.is-owned {
    border-color: rgba(80, 200, 120, 0.28);
    background: rgba(80, 200, 120, 0.08);
}

.shop-offer-card__chip-img { width: 24px; height: 24px; object-fit: contain; }
.shop-offer-card__chip-qty { font-weight: 800; color: var(--sushi-yellow); }

.shop-offer-card__footer {
    margin-top: auto;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.shop-offer-card__price-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.12rem;
    width: 100%;
    min-width: 0;
    padding: 0.5rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 215, 0, 0.32);
    background: linear-gradient(145deg, rgba(255, 215, 0, 0.14), rgba(0, 0, 0, 0.35));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.shop-offer-card--spotlight .shop-offer-card__price-block {
    border-color: rgba(255, 215, 0, 0.45);
    background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(0, 0, 0, 0.32));
}

.shop-offer-card--owned .shop-offer-card__price-block {
    opacity: 0.72;
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.28);
}

.shop-offer-card__price-label {
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.48);
    line-height: 1;
}

.shop-offer-card__price-value {
    font-size: clamp(1rem, 4.5cqi, 1.45rem);
    font-weight: 900;
    color: var(--sushi-yellow);
    font-variant-numeric: tabular-nums;
    line-height: 1;
    text-shadow: 0 0 18px rgba(255, 215, 0, 0.22);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shop-offer-card--spotlight .shop-offer-card__price-value {
    font-size: 1.55rem;
}

.shop-offer-card__details {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(0, 0, 0, 0.48);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.78rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.shop-offer-card__details i {
    font-size: 1.05rem;
    line-height: 1;
}

.shop-offer-card__details:hover {
    background: rgba(0, 180, 219, 0.18);
    border-color: rgba(0, 180, 219, 0.55);
    color: var(--sushi-cyan);
    transform: translateY(-1px);
}

.shop-offer-card__details:focus-visible {
    outline: 2px solid var(--sushi-cyan);
    outline-offset: 2px;
}

.shop-offer-card__details span {
    display: none;
}

.shop-offer-card__cta {
    position: relative;
    z-index: 3;
}

.shop-offer-card__cta .shop-offer-card__buy,
.shop-offer-card__cta .shop-buy-card__owned {
    width: 100%;
}

@media (max-width: 400px) {
    .shop-offer-card__price-block {
        padding: 0.48rem 0.65rem;
    }
}

.shop-offers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.shop-offers-grid--compact { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

.shop-offer-card__buy,
.shop-pack-card__buy,
.shop-cosmetic-card__buy {
    width: 100%;
    justify-content: center;
    padding: 0.62rem 1rem;
    font-size: 0.9rem;
    border-radius: 11px;
}

/* Currency packs */
.shop-packs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(188px, 1fr));
    gap: 0.95rem;
}

.shop-pack-card {
    position: relative;
    display: flex;
    flex-direction: column;
    container-type: inline-size;
    padding: 1.05rem 0.9rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(165deg, rgba(15, 45, 58, 0.8), rgba(0, 0, 0, 0.3));
    text-align: center;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.shop-pack-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}

.shop-pack-card--gems {
    border-color: rgba(140, 70, 200, 0.42);
    background: linear-gradient(165deg, rgba(42, 18, 62, 0.82), rgba(8, 12, 24, 0.42));
    box-shadow: 0 8px 24px rgba(120, 60, 200, 0.1);
}

.shop-pack-card--gems:hover {
    border-color: rgba(160, 90, 230, 0.58);
    box-shadow: 0 14px 32px rgba(120, 60, 200, 0.18);
}

.shop-pack-card--gold {
    border-color: rgba(255, 215, 0, 0.32);
    box-shadow: 0 8px 24px rgba(255, 215, 0, 0.06);
}

.shop-pack-card--gold:hover { border-color: rgba(255, 215, 0, 0.5); box-shadow: 0 14px 32px rgba(255, 215, 0, 0.12); }

.shop-pack-card__thumb {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 108px;
    margin-bottom: 0.65rem;
    padding: 0.55rem;
    border-radius: 14px;
    background:
        radial-gradient(ellipse 80% 70% at 50% 35%, rgba(140, 70, 200, 0.14), transparent 65%),
        rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.shop-pack-card--gold .shop-pack-card__thumb {
    background:
        radial-gradient(ellipse 80% 70% at 50% 35%, rgba(255, 215, 0, 0.12), transparent 65%),
        rgba(0, 0, 0, 0.32);
}

.shop-pack-card__thumb img {
    max-width: 96px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 5px 12px rgba(0, 0, 0, 0.45));
}

.shop-pack-card__thumb-badges {
    position: absolute;
    top: 0.45rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem;
}

.shop-pack-card__body {
    position: relative;
    z-index: 2;
    flex: 1;
}

.shop-pack-card__badge {
    display: inline-block;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: rgba(0, 180, 219, 0.2);
    color: var(--sushi-cyan);
    border: 1px solid rgba(0, 180, 219, 0.3);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.shop-pack-card__title { margin: 0; font-size: 0.98rem; font-weight: 800; color: var(--sushi-yellow); }
.shop-pack-card__qty { color: #fff; }

.shop-pack-card__footer {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.shop-pack-card__price-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
    width: 100%;
    min-width: 0;
    padding: 0.45rem 0.6rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 215, 0, 0.28);
    background: linear-gradient(145deg, rgba(255, 215, 0, 0.12), rgba(0, 0, 0, 0.35));
}

.shop-pack-card__price-label {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.48);
    line-height: 1;
}

.shop-pack-card__price-value {
    font-size: 1.18rem;
    font-weight: 900;
    color: #fff;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.shop-pack-card__details {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(0, 0, 0, 0.48);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.78rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.shop-pack-card__details i {
    font-size: 0.78rem;
    line-height: 1;
}

.shop-pack-card__details:hover {
    background: rgba(0, 180, 219, 0.18);
    border-color: rgba(0, 180, 219, 0.55);
    color: var(--sushi-cyan);
}

.shop-pack-card__details:focus-visible {
    outline: 2px solid var(--sushi-cyan);
    outline-offset: 2px;
}

.shop-pack-card__price-block,
.shop-pack-card__buy {
    position: relative;
    z-index: 3;
}

.shop-offer-card--no-ads .shop-offer-card__thumb {
    min-height: 118px;
    background:
        radial-gradient(ellipse 70% 65% at 50% 40%, rgba(0, 180, 219, 0.1), transparent 68%),
        rgba(0, 0, 0, 0.42);
}

.shop-offer-card--no-ads .shop-offer-card__thumb img {
    max-width: 88px;
}

.shop-pack-card--exchange {
    border-style: dashed;
    border-color: rgba(255, 215, 0, 0.28);
    background: linear-gradient(165deg, rgba(20, 38, 48, 0.72), rgba(0, 0, 0, 0.24));
}

.shop-pack-card--exchange:hover {
    border-color: rgba(255, 215, 0, 0.45);
}

.shop-pack-card__price--gems {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.shop-pack-card__price--gems strong {
    color: var(--sushi-cyan);
    font-size: 1.08rem;
}

.shop-pack-card__gems-icon {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.35));
}

.shop-pack-card__ingame {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.28);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--sushi-muted);
}

.shop-section--gold-exchange {
    margin-top: 1.35rem;
    padding-top: 0.35rem;
}

/* Cosmetics */
.shop-section--cosmetics {
    margin-top: 0.25rem;
}

.shop-cosmetics-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
    margin: 0.35rem 0 1rem;
}

.shop-cosmetics-stats {
    margin: 0;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 180, 219, 0.28);
    background: rgba(0, 180, 219, 0.1);
    font-size: 0.82rem;
    font-weight: 700;
    color: #d8f6ff;
}

.shop-cosmetics-filters {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.28rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.28);
}

.shop-cosmetics-filters__btn {
    appearance: none;
    border: 0;
    padding: 0.42rem 0.9rem;
    border-radius: 999px;
    background: transparent;
    color: var(--sushi-muted);
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.shop-cosmetics-filters__btn:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}

.shop-cosmetics-filters__btn.is-active {
    color: #fff;
    background: linear-gradient(135deg, rgba(0, 180, 219, 0.55), rgba(0, 136, 168, 0.42));
    box-shadow: 0 4px 14px rgba(0, 180, 219, 0.22);
}

.shop-cosmetics-pricing-note {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0 0 1.35rem;
    padding: 0.75rem 0.95rem;
    border-radius: 12px;
    border: 1px dashed rgba(255, 215, 0, 0.28);
    background: rgba(255, 215, 0, 0.05);
    font-size: 0.84rem;
    line-height: 1.45;
    color: var(--sushi-muted);
}

.shop-cosmetics-pricing-note i {
    color: var(--sushi-yellow);
    margin-top: 0.12rem;
    flex-shrink: 0;
}

.shop-cosmetics-block + .shop-cosmetics-block {
    margin-top: 1.65rem;
}

.shop-cosmetics-block__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.85rem;
    font-size: 0.95rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.02em;
}

.shop-cosmetics-block__title i {
    color: var(--sushi-cyan);
    font-size: 0.92rem;
}

.shop-cosmetics-block__count {
    margin-left: auto;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--sushi-muted);
}

.shop-cosmetics-grid {
    display: grid;
    gap: 0.95rem;
}

.shop-cosmetics-grid--suits {
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
}

.shop-cosmetics-grid--hats {
    grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
}

.shop-cosmetics-hats-wrap {
    position: relative;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.shop-cosmetics-hats-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4.5rem;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(180deg, rgba(8, 18, 28, 0), rgba(8, 18, 28, 0.92) 68%, rgba(8, 18, 28, 0.98));
    transition: opacity 0.25s ease;
}

.shop-cosmetics-block--hats.is-hats-collapsed .shop-cosmetics-hats-fade {
    opacity: 1;
}

.shop-cosmetics-block--hats.is-hats-expanded .shop-cosmetics-hats-wrap {
    max-height: none !important;
    overflow: visible;
}

.shop-cosmetics-hats-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    margin-top: 0.85rem;
    padding: 0.62rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 180, 219, 0.35);
    background: rgba(0, 180, 219, 0.1);
    color: var(--sushi-cyan);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.shop-cosmetics-hats-toggle:hover {
    border-color: rgba(0, 180, 219, 0.55);
    background: rgba(0, 180, 219, 0.16);
    transform: translateY(-1px);
}

.shop-cosmetics-hats-toggle[hidden] {
    display: none !important;
}

.shop-cosmetics-hats-toggle i {
    font-size: 0.72rem;
    line-height: 1;
}

.shop-cosmetic-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(165deg, rgba(15, 45, 58, 0.82), rgba(0, 0, 0, 0.32));
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.26);
    text-align: center;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.shop-cosmetic-card__corner {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.32rem;
    pointer-events: none;
}

.shop-cosmetic-card__corner > * {
    pointer-events: auto;
}

.shop-cosmetic-card:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 180, 219, 0.45);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.34);
}

.shop-cosmetic-card--suit {
    border-color: rgba(0, 180, 219, 0.22);
}

.shop-cosmetic-card--hat {
    border-color: rgba(255, 255, 255, 0.1);
}

.shop-cosmetic-card--accent-green { --cosmetic-accent: 80, 200, 120; }
.shop-cosmetic-card--accent-cyan { --cosmetic-accent: 0, 180, 219; }
.shop-cosmetic-card--accent-white { --cosmetic-accent: 230, 240, 255; }
.shop-cosmetic-card--accent-black { --cosmetic-accent: 70, 78, 92; }
.shop-cosmetic-card--accent-yellow { --cosmetic-accent: 255, 215, 0; }
.shop-cosmetic-card--accent-red { --cosmetic-accent: 255, 90, 90; }
.shop-cosmetic-card--accent-blue { --cosmetic-accent: 80, 140, 255; }
.shop-cosmetic-card--accent-orange { --cosmetic-accent: 255, 150, 60; }
.shop-cosmetic-card--accent-purple { --cosmetic-accent: 170, 100, 255; }

.shop-cosmetic-card[class*="shop-cosmetic-card--accent-"] {
    background:
        radial-gradient(ellipse 90% 65% at 50% 0%, rgba(var(--cosmetic-accent), 0.22), transparent 62%),
        linear-gradient(165deg, rgba(15, 45, 58, 0.82), rgba(0, 0, 0, 0.32));
    border-color: rgba(var(--cosmetic-accent), 0.35);
}

.shop-cosmetic-card[class*="shop-cosmetic-card--accent-"]:hover {
    border-color: rgba(var(--cosmetic-accent), 0.55);
    box-shadow: 0 16px 36px rgba(var(--cosmetic-accent), 0.14);
}

.shop-cosmetic-card__thumb {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 118px;
    margin: 0;
    padding: 0.85rem 0.75rem 0.35rem;
    pointer-events: none;
}

.shop-cosmetic-card--suit .shop-cosmetic-card__thumb {
    min-height: 128px;
}

.shop-cosmetic-card__thumb img {
    max-width: 112px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.45));
}

.shop-cosmetic-card__owned-mark {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    display: inline-flex;
    width: 1.65rem;
    height: 1.65rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(80, 200, 120, 0.92);
    color: #0a2014;
    font-size: 0.72rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.28);
}

.shop-cosmetic-card__wiki {
    position: static;
    z-index: auto;
}

.shop-cosmetic-card__wiki .shop-chip-wiki,
.shop-cosmetic-card__details {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    margin: 0;
    padding: 0;
    border-radius: 8px;
    border: 1px solid rgba(0, 180, 219, 0.35);
    background: rgba(0, 0, 0, 0.48);
    font-size: 0.72rem;
    line-height: 1;
    color: rgba(255, 255, 255, 0.78);
    cursor: pointer;
    opacity: 1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.shop-cosmetic-card__details {
    border-color: rgba(255, 255, 255, 0.2);
}

.shop-cosmetic-card__wiki .shop-chip-wiki:hover,
.shop-cosmetic-card__details:hover {
    background: rgba(0, 180, 219, 0.18);
    border-color: rgba(0, 180, 219, 0.55);
    color: var(--sushi-cyan);
}

.shop-cosmetic-card__details:focus-visible {
    outline: 2px solid var(--sushi-cyan);
    outline-offset: 2px;
}

.shop-cosmetic-card__body {
    position: relative;
    z-index: 2;
    flex: 1;
    padding: 0 0.85rem;
    pointer-events: none;
}

.shop-cosmetic-card__cat {
    display: block;
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--sushi-cyan);
}

.shop-cosmetic-card__title {
    margin: 0.28rem 0 0;
    font-size: 0.9rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.3;
}

.shop-cosmetic-card__footer {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.45rem;
    padding: 0.6rem 0.75rem 0.72rem;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    background: rgba(0, 0, 0, 0.18);
}

.shop-cosmetic-card__price {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
}

.shop-cosmetic-card__price strong {
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.shop-cosmetic-card__price span {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.45);
    margin-right: 0.25rem;
}

.shop-cosmetics-empty {
    margin: 1.25rem 0 0;
    padding: 1.1rem 1rem;
    border-radius: 12px;
    text-align: center;
    font-size: 0.88rem;
    color: var(--sushi-muted);
    background: rgba(0, 0, 0, 0.22);
    border: 1px dashed rgba(255, 255, 255, 0.12);
}

.shop-cosmetics-block.is-filter-hidden,
.shop-cosmetic-card.is-filter-hidden {
    display: none !important;
}

.shop-buy-card__owned {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.62rem 0.75rem;
    border-radius: 11px;
    background: rgba(80, 200, 120, 0.15);
    border: 1px solid rgba(120, 220, 150, 0.38);
    color: #9ef0b8;
    font-size: 0.9rem;
    font-weight: 800;
}

.shop-panel__note {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 1.5rem 0 0;
    padding: 0.8rem 1rem;
    border-radius: 12px;
    font-size: 0.85rem;
    line-height: 1.45;
    color: var(--sushi-muted);
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.shop-panel__note i { color: var(--sushi-cyan); margin-top: 0.1rem; flex-shrink: 0; }

/* Profile */
.account-page-card {
    max-width: 30rem;
    margin: 0 auto;
    padding: 2.5rem 2rem;
    text-align: center;
    border-radius: 20px;
    border: 1px solid var(--account-surface-border);
    background: var(--account-surface);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.32);
    animation: accountFadeUp 0.5s ease both;
}

.account-page-card--guest::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(0, 180, 219, 0.12), transparent 60%);
    pointer-events: none;
}

.account-page-card { position: relative; overflow: hidden; }

.account-page-card__icon {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.35), rgba(0, 136, 168, 0.15));
    color: var(--sushi-yellow);
    font-size: 1.65rem;
    box-shadow: 0 8px 24px rgba(0, 180, 219, 0.22);
}

.account-page-card__title { margin: 0 0 0.6rem; font-size: 1.35rem; font-weight: 800; color: #fff; }
.account-page-card__text { margin: 0 0 1.4rem; color: var(--sushi-muted); line-height: 1.55; font-size: 1rem; }

.profile-dashboard__top {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

.profile-dashboard__top > .profile-hero,
.profile-dashboard__top > .profile-stats,
.profile-dashboard__top > .profile-share-link {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}

.profile-hero {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-bottom: 0;
    min-width: 0;
    overflow: visible;
}

.profile-hero__primary {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
}

.profile-hero__avatar { flex-shrink: 0; }
.profile-hero__main { flex: 1 1 auto; min-width: 0; }

.profile-hero__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.2rem;
}

.profile-hero__headline {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin-bottom: 0.15rem;
}

.profile-hero__id-row {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.35rem;
}

.profile-hero__id-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.profile-hero__prefs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.55rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    overflow: visible;
}

.profile-hero__language-row,
.profile-hero__timezone-row {
    display: grid;
    grid-template-columns: minmax(6.75rem, 8.25rem) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    min-width: 0;
}

.profile-hero__language-row .profile-hero__label,
.profile-hero__timezone-row .profile-hero__label {
    margin: 0;
}

.profile-hero__timezone-row {
    flex-direction: unset;
}

.profile-hero__setting-value {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--sushi-text);
    line-height: 1.35;
    word-break: break-word;
}

.profile-hero::before { display: none; }

.profile-hero__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.48), rgba(0, 136, 168, 0.22));
    border: 2px solid rgba(0, 180, 219, 0.45);
    color: #fff;
    font-size: 1.85rem;
    box-shadow: 0 10px 28px rgba(0, 180, 219, 0.28);
}

.profile-hero__tag {
    display: inline-flex;
    margin-bottom: 0;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sushi-cyan);
    background: rgba(0, 180, 219, 0.14);
    border: 1px solid rgba(0, 180, 219, 0.28);
}

.profile-hero__name {
    margin: 0;
    font-size: clamp(1.15rem, 2.8vw, 1.55rem);
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.profile-hero__label {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.78rem;
    font-weight: 600;
    margin-right: 0;
    display: block;
    margin-bottom: 0.1rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.profile-hero__email {
    margin: 0.2rem 0 0;
    font-size: 0.9rem;
    color: var(--sushi-text);
    line-height: 1.35;
}

.profile-hero__email-value {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.profile-hero__meta-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
    line-height: 1.35;
}

.profile-hero__meta-line .profile-hero__label {
    display: inline;
    margin: 0 0.25rem 0 0;
    text-transform: none;
    font-size: inherit;
    letter-spacing: 0;
}

.profile-hero__id code {
    padding: 0.18rem 0.45rem;
    border-radius: 6px;
    background: rgba(0, 180, 219, 0.15);
    color: var(--sushi-cyan);
    font-weight: 700;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.88rem;
    letter-spacing: 0.02em;
}

.profile-hero__actions {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.profile-hero__actions-primary {
    display: flex;
    width: 100%;
}

.profile-hero__actions-primary .profile-hero__shop-btn {
    width: 100%;
    justify-content: center;
    gap: 0.55rem;
}

.profile-hero__actions-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    width: 100%;
}

.profile-hero__actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.65rem;
    padding: 0.55rem 1rem;
    border-radius: 11px;
    font-weight: 700;
    flex: 1 1 auto;
}

.profile-hero__signout-btn--danger {
    border-color: rgba(255, 120, 120, 0.35) !important;
    color: rgba(255, 200, 200, 0.95) !important;
}

.profile-hero__signout-btn--danger:hover {
    border-color: rgba(255, 120, 120, 0.55) !important;
    background: rgba(120, 24, 24, 0.22) !important;
}

.profile-hero__refresh-btn {
    flex: 0 0 auto;
    border-color: rgba(255, 255, 255, 0.14) !important;
    box-shadow: none !important;
}

.profile-hero__refresh-btn:disabled {
    opacity: 0.55;
    pointer-events: none;
}

.profile-wallet { margin-bottom: 0; min-width: 0; }

.profile-wallet__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.profile-wallet-card {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.7rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.28);
    color: inherit;
    text-decoration: none;
    min-width: 0;
    transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
    .profile-wallet-card:hover {
        border-color: rgba(0, 180, 219, 0.45);
        transform: translateY(-1px);
    }
}

.profile-wallet-card__meta {
    flex: 1 1 auto;
    min-width: 0;
}

.profile-wallet-card__value {
    display: block;
    font-size: clamp(0.95rem, 2.4vw, 1.2rem);
    font-weight: 800;
    color: var(--sushi-yellow);
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
    overflow: visible;
    white-space: nowrap;
}

.profile-wallet-card--gems,
.profile-wallet-card--gold {
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.12);
}

.profile-wallet-card--gems:hover,
.profile-wallet-card--gold:hover {
    border-color: rgba(0, 180, 219, 0.38);
}

.profile-wallet-card--gold:hover {
    border-color: rgba(255, 215, 0, 0.38);
}

.profile-wallet-card img {
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    object-fit: contain;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35));
}

.profile-wallet-card__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--sushi-muted);
    text-transform: none;
    letter-spacing: 0.01em;
    margin-bottom: 0.1rem;
}

.profile-wallet-card__wiki {
    flex-shrink: 0;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.35);
}

.profile-stats { margin-bottom: 1.15rem; }

.profile-stats__layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
}

.profile-stats__group-title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.75rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

.profile-stats__group-title i {
    color: var(--sushi-cyan);
    font-size: 0.82rem;
}

.profile-stats__dives,
.profile-stats__kitchen,
.profile-stats__collection {
    padding: 1rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(165deg, rgba(10, 32, 42, 0.72), rgba(0, 0, 0, 0.22));
}

.profile-stats__kitchen {
    border-color: rgba(255, 215, 0, 0.18);
    background:
        radial-gradient(ellipse 80% 60% at 100% 0%, rgba(255, 215, 0, 0.08), transparent 55%),
        linear-gradient(165deg, rgba(18, 42, 52, 0.82), rgba(0, 0, 0, 0.28));
    box-shadow: inset 0 0 28px rgba(255, 215, 0, 0.04);
}

.profile-stats__dive-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.profile-stat-hero {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.95rem 0.85rem;
    border-radius: 14px;
    border: 1px solid rgba(0, 180, 219, 0.2);
    background: linear-gradient(160deg, rgba(0, 180, 219, 0.12), rgba(0, 0, 0, 0.18));
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.profile-stat-hero:hover {
    border-color: rgba(0, 180, 219, 0.42);
    transform: translateY(-2px);
}

.profile-stat-hero--depth {
    border-color: rgba(100, 149, 237, 0.22);
    background: linear-gradient(160deg, rgba(70, 110, 180, 0.14), rgba(0, 0, 0, 0.18));
}

.profile-stat-hero__icon {
    display: inline-flex;
    width: 2.1rem;
    height: 2.1rem;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(0, 180, 219, 0.16);
    color: var(--sushi-cyan);
    font-size: 0.9rem;
}

.profile-stat-hero--depth .profile-stat-hero__icon {
    background: rgba(100, 149, 237, 0.18);
    color: #8eb8ff;
}

.profile-stat-hero__label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--sushi-muted);
}

.profile-stat-hero__value {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--sushi-yellow);
    line-height: 1.1;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.profile-stats__level-grid {
    display: grid;
    gap: 0.8rem;
}

.profile-level-card {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 0.9rem 0.95rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.22);
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.profile-level-card:hover {
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.profile-level-card--fish {
    border-color: rgba(0, 180, 219, 0.24);
    box-shadow: inset 0 0 18px rgba(0, 180, 219, 0.05);
}

.profile-level-card--dish {
    border-color: rgba(255, 215, 0, 0.22);
    box-shadow: inset 0 0 18px rgba(255, 215, 0, 0.04);
}

.profile-level-card--max {
    border-color: rgba(255, 215, 0, 0.38);
}

.profile-level-card__thumb {
    flex: 0 0 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.35);
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.profile-level-card__thumb:hover {
    border-color: rgba(0, 180, 219, 0.45);
    transform: scale(1.04);
}

.profile-level-card--dish .profile-level-card__thumb:hover {
    border-color: rgba(255, 215, 0, 0.45);
}

.profile-level-card__thumb img {
    width: 2.6rem;
    height: 2.6rem;
    object-fit: contain;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35));
}

.profile-level-card__body { flex: 1; min-width: 0; }

.profile-level-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    margin-bottom: 0.25rem;
}

.profile-level-card__name {
    font-size: 0.95rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.01em;
}

.profile-level-card__level {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--sushi-muted);
}

.profile-level-card__level strong {
    color: var(--sushi-yellow);
    font-weight: 800;
}

.profile-level-card__level-max {
    opacity: 0.65;
}

.profile-level-card__max {
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.16);
    border: 1px solid rgba(255, 215, 0, 0.35);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: var(--sushi-yellow);
}

.profile-level-card__hint {
    margin: 0 0 0.55rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.52);
}

.profile-level-card__progress {
    height: 0.42rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.profile-level-card__progress-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(0, 180, 219, 0.85), rgba(0, 220, 255, 0.95));
    box-shadow: 0 0 10px rgba(0, 180, 219, 0.35);
}

.profile-level-card--dish .profile-level-card__progress-bar {
    background: linear-gradient(90deg, rgba(255, 180, 0, 0.9), rgba(255, 215, 0, 1));
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}

.profile-level-card--max .profile-level-card__progress-bar {
    background: linear-gradient(90deg, rgba(255, 200, 50, 0.95), rgba(255, 240, 120, 1));
}

.profile-stats__collection-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.profile-stat-chip {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.2);
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.profile-stat-chip:hover {
    border-color: rgba(0, 180, 219, 0.32);
    transform: translateY(-2px);
}

.profile-stat-chip--hats { border-color: rgba(180, 120, 255, 0.2); }
.profile-stat-chip--weapons { border-color: rgba(255, 100, 80, 0.2); }

.profile-stat-chip__icon {
    display: inline-flex;
    flex: 0 0 2.2rem;
    width: 2.2rem;
    height: 2.2rem;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(0, 180, 219, 0.14);
    color: var(--sushi-cyan);
    font-size: 0.95rem;
}

.profile-stat-chip--hats .profile-stat-chip__icon {
    background: rgba(180, 120, 255, 0.16);
    color: #c9a0ff;
}

.profile-stat-chip--weapons .profile-stat-chip__icon {
    background: rgba(255, 100, 80, 0.14);
    color: #ff9a8a;
}

.profile-stat-chip__meta { min-width: 0; }

.profile-stat-chip__label {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--sushi-muted);
}

.profile-stat-chip__value {
    display: block;
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--sushi-yellow);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

@media (min-width: 720px) {
    .profile-stats__layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
        grid-template-rows: auto auto;
        align-items: stretch;
    }

    .profile-stats__dives { grid-column: 1; grid-row: 1; }
    .profile-stats__kitchen { grid-column: 2; grid-row: 1 / span 2; }
    .profile-stats__collection { grid-column: 1; grid-row: 2; }
}

@media (min-width: 960px) {
    .profile-stats__level-grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }
}

.profile-dashboard__lower {
    display: grid;
    gap: 1.15rem;
}

.profile-linked__list { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }

.profile-linked--full { grid-column: 1 / -1; }

.profile-linked__title {
    user-select: none;
    -webkit-user-select: none;
}

.profile-linked__item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 180, 219, 0.28);
    background: rgba(0, 0, 0, 0.32);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--sushi-text);
    min-height: 2.75rem;
}

.profile-linked__item.hidden,
.profile-linked__item[hidden] { display: none !important; }

.profile-linked__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.profile-linked__icon--email { color: var(--sushi-cyan); }
.profile-linked__icon--apple { color: #fff; font-size: 1.1rem; }

.profile-linked__icon--google svg { width: 1.1rem; height: 1.1rem; display: block; }

.profile-linked__check {
    margin-left: auto;
    color: var(--sushi-cyan);
    font-size: 0.82rem;
}

.profile-linked__hint {
    margin: 0.65rem 0 0;
    font-size: 0.78rem;
    color: var(--sushi-muted);
    line-height: 1.4;
}

.profile-linked--single .profile-linked__list {
    display: block;
}

.profile-linked--single .profile-linked__item {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    border-radius: 12px;
    padding: 0.75rem 1rem;
}

.profile-inv-preview__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.profile-inv-chip {
    padding: 0.45rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(165deg, rgba(15, 45, 58, 0.65), rgba(0, 0, 0, 0.24));
    transition: transform 0.18s ease, border-color 0.18s ease;
}

.profile-inv-chip:hover { transform: scale(1.06); border-color: rgba(0, 180, 219, 0.4); }
.profile-inv-chip img { display: block; object-fit: contain; filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35)); }

@media (min-width: 768px) {
    .profile-hero__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .profile-hero__actions .profile-hero__shop-btn {
        flex: 0 1 auto;
    }

    .profile-hero__prefs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: end;
    }

    .profile-hero__label {
        display: inline;
        margin-right: 0.3rem;
        margin-bottom: 0;
        text-transform: none;
        font-size: 0.82rem;
        letter-spacing: 0;
    }

    .profile-hero__id-row {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .profile-demo-chip { display: none; }

    .profile-dashboard__lower {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 1024px) {
    .profile-dashboard__top {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
        align-items: stretch;
    }

    .profile-hero__actions .btn {
        flex: 1 1 auto;
    }

    .profile-hero__refresh-label { display: inline; }
}

@media (min-width: 768px) {
    .site-nav__tools { gap: 0.9rem; }
}

/* ——— Account enhancements v2 ——— */

.account-demo-badge {
    position: absolute;
    top: calc(var(--site-nav-height, 4rem) + 0.5rem);
    right: 1rem;
    z-index: 2;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sushi-yellow);
    border: 1px solid rgba(255, 215, 0, 0.45);
    background: rgba(0, 0, 0, 0.35);
}


.shop-panel__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.75rem 1rem; margin-bottom: 1.15rem; }

.shop-offer-card {
    position: relative;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.45s ease, transform 0.45s ease;
    transition-delay: var(--reveal-delay, 0s);
}

.shop-pack-card,
.shop-cosmetic-card {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    transition-delay: var(--reveal-delay, 0s);
}

.shop-offer-card.is-revealed,
.shop-pack-card.is-revealed,
.shop-cosmetic-card.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

.shop-offer-card__footer {
    position: relative;
    z-index: 2;
}

.shop-offer-card__price-block,
.shop-offer-card__cta,
.shop-offer-card__buy,
.shop-offer-card__cta .shop-buy-card__owned {
    position: relative;
    z-index: 3;
}

.shop-offer-card__owned-partial {
    display: inline-block;
    margin-bottom: 0.35rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--sushi-yellow);
    background: rgba(255, 215, 0, 0.12);
    border: 1px solid rgba(255, 215, 0, 0.28);
}

.shop-pack-card__actions,
.shop-cosmetic-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.shop-cosmetic-card__actions {
    justify-content: center;
}

.shop-cosmetic-card__corner,
.shop-cosmetic-card__details,
.shop-cosmetic-card__buy,
.shop-cosmetic-card__footer .shop-buy-card__owned {
    position: relative;
    z-index: 4;
    width: 100%;
}

.shop-cosmetic-card__buy {
    padding-block: 0.55rem;
    font-size: 0.86rem;
}

.shop-offer-card--owned {
    opacity: 0.82;
}

.shop-offer-card--owned .shop-offer-card__thumb {
    filter: grayscale(0.25);
}

.shop-cosmetic-card--owned {
    border-color: rgba(80, 200, 120, 0.32);
}

.shop-offer-card__chip.is-owned .shop-offer-card__chip-name {
    text-decoration: line-through;
    opacity: 0.65;
}

.shop-chip-wiki {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    margin-left: 0.2rem;
    border-radius: 6px;
    color: var(--sushi-cyan);
    font-size: 0.65rem;
    text-decoration: none;
    opacity: 0.75;
    transition: opacity 0.15s ease, background 0.15s ease;
}

.shop-chip-wiki:hover {
    opacity: 1;
    background: rgba(0, 180, 219, 0.15);
}

.shop-jump-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 1.15rem;
}

.shop-jump-nav__link {
    padding: 0.38rem 0.85rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    color: var(--sushi-muted);
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.22);
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.shop-jump-nav__link:hover {
    color: #fff;
    border-color: rgba(0, 180, 219, 0.45);
    background: rgba(0, 180, 219, 0.12);
}

.shop-search {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: min(100%, 14rem);
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.28);
    color: var(--sushi-muted);
}

.shop-search__input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 0.88rem;
    outline: none;
}

.shop-search__input::placeholder { color: rgba(180, 210, 218, 0.55); }

.shop-copy-id,
.profile-copy-id {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: 0.35rem;
    padding: 0.2rem 0.5rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(0, 0, 0, 0.25);
    color: var(--sushi-cyan);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    vertical-align: middle;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.shop-copy-id:hover,
.profile-copy-id:hover {
    border-color: rgba(0, 180, 219, 0.5);
    color: #fff;
}

.profile-hero__hint {
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    color: var(--sushi-muted);
}

.shop-inv-skeleton {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.shop-inv-skeleton[hidden] { display: none; }

.shop-inv-skeleton__card {
    height: 5.5rem;
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(255,255,255,0.04) 25%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.04) 75%);
    background-size: 200% 100%;
    animation: accountShimmer 1.2s ease infinite;
}

.shop-inv-grid.is-syncing,
.shop-inv-dashboard.is-syncing { opacity: 0.45; pointer-events: none; }

.shop-purchases-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shop-purchases-list__item { list-style: none; }

.shop-purchase-item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.22);
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.shop-purchase-item:hover {
    border-color: rgba(0, 180, 219, 0.35);
    transform: translateY(-1px);
}

.shop-purchase-item__thumb {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 12px;
    object-fit: contain;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.25rem;
}

.shop-purchase-item__thumb--fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--sushi-cyan);
    font-size: 1.1rem;
}

.shop-purchase-item__body { flex: 1; min-width: 0; }

.shop-purchase-item__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.shop-purchase-item__source {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
}

.shop-purchase-item__source--web { color: #9ad9ff; background: rgba(0, 180, 219, 0.14); }
.shop-purchase-item__source--google { color: #9be59b; background: rgba(60, 180, 90, 0.14); }
.shop-purchase-item__source--apple { color: #e8e8ed; background: rgba(200, 200, 210, 0.12); }
.shop-purchase-item__source--ingame { color: #e8c84a; background: rgba(232, 200, 74, 0.18); border: 1px solid rgba(232, 200, 74, 0.35); }
.shop-purchase-item__source--uptodown { color: #7ec8ff; background: rgba(0, 174, 239, 0.14); }
.shop-purchase-item__source--amazon { color: #ffad33; background: rgba(255, 173, 51, 0.14); }
.shop-purchase-item__source--samsung { color: #9ad4ff; background: rgba(20, 120, 200, 0.14); }
.shop-purchase-item__source--huawei { color: #ff8a8a; background: rgba(207, 0, 15, 0.12); }
.shop-purchase-item__source--rustore { color: #b8a0ff; background: rgba(120, 80, 220, 0.14); }
.shop-purchase-item__source--apkcombo { color: #9ee0b8; background: rgba(46, 160, 100, 0.14); }
.shop-purchase-item__source--other { color: var(--sushi-muted); background: rgba(255, 255, 255, 0.08); }

.shop-purchase-item__title { display: block; font-size: 0.95rem; color: #fff; margin-bottom: 0.45rem; }
.shop-purchase-item__price { font-size: 0.9rem; color: var(--sushi-yellow); font-weight: 800; white-space: nowrap; }

.shop-purchase-item__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.75rem;
    font-size: 0.76rem;
    color: var(--sushi-muted);
}

.shop-purchase-item__receipt code {
    font-size: 0.72rem;
    color: rgba(180, 210, 218, 0.95);
    background: rgba(0, 0, 0, 0.28);
    padding: 0.12rem 0.35rem;
    border-radius: 6px;
}

.shop-purchase-item__status {
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.72rem;
}

.shop-purchase-item__status--pending { color: var(--sushi-cyan); background: rgba(0, 180, 219, 0.12); }
.shop-purchase-item__status--done { color: #7fff9a; background: rgba(80, 200, 120, 0.12); }

.profile-purchases { grid-column: 1 / -1; scroll-margin-top: calc(var(--site-nav-height, 4rem) + 3.5rem); }

.shop-purchases-list--profile {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.shop-purchases-list--profile .shop-purchases-list__item {
    list-style: none;
}

.shop-purchase-item--profile {
    align-items: flex-start;
    padding: 0.75rem 0.8rem;
    gap: 0.7rem;
    border-radius: 12px;
}

.shop-purchase-item--profile .shop-purchase-item__thumb {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 10px;
    background: #0a2030;
    padding: 0.35rem;
}

.shop-purchase-item--profile .shop-purchase-item__top {
    flex-wrap: nowrap;
    margin-bottom: 0.25rem;
}

.shop-purchase-item--profile .shop-purchase-item__title {
    font-size: 0.92rem;
    margin-bottom: 0.35rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
}

.shop-purchase-item--profile .shop-purchase-item__demo {
    display: inline-flex;
    margin: 0 0 0.35rem;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sushi-yellow);
    border: 1px solid rgba(255, 215, 0, 0.35);
    background: rgba(255, 215, 0, 0.08);
}

.shop-purchase-item__meta--profile {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.shop-purchase-item--profile .shop-purchase-item__date {
    font-size: 0.72rem;
    color: var(--sushi-muted);
}

.shop-purchase-item--profile .shop-purchase-item__status {
    padding: 0.18rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    white-space: nowrap;
}

.shop-purchase-item--profile .shop-purchase-item__status::before {
    width: 0.35rem;
    height: 0.35rem;
    margin-right: 0.25rem;
}

.shop-purchase-item__receipt-details {
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.22);
}

.shop-purchase-item__receipt-summary {
    display: flex;
    align-items: center;
    min-height: 2.5rem;
    padding: 0.45rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--sushi-cyan);
    cursor: pointer;
    list-style: none;
}

.shop-purchase-item__receipt-summary::-webkit-details-marker { display: none; }

.shop-purchase-item__receipt-panel {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 0.65rem 0.55rem;
    flex-wrap: wrap;
}

.shop-purchase-item__receipt-panel code {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.35rem 0.5rem;
    border-radius: 6px;
    background: rgba(0, 180, 219, 0.12);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.75rem;
    word-break: break-all;
}

.shop-purchase-item__receipt-copy {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 2.25rem;
    padding: 0.25rem 0.55rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.25);
    color: var(--sushi-cyan);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
}

.shop-purchases-filter-wrap--profile {
    position: relative;
    margin-bottom: 0.75rem;
    margin-inline: 0;
    padding-inline: 0;
    overflow: visible;
}

.shop-purchases-filter-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 0.75rem;
    padding-inline: 0.75rem;
    scrollbar-width: none;
}

.shop-purchases-filter-scroll::-webkit-scrollbar { display: none; }

.shop-purchases-filter-wrap--profile .shop-purchases-filter {
    padding-bottom: 0.25rem;
    gap: 0.35rem;
}

.shop-purchases-filter-wrap--profile .shop-purchases-filter__btn {
    padding: 0.32rem 0.62rem;
    font-size: 0.72rem;
    scroll-snap-align: start;
}

.shop-purchases-filter-wrap--profile .shop-purchases-filter__btn i {
    width: 0.88rem;
    text-align: center;
    font-size: 0.78rem;
}

.shop-purchases-filter__btn--all {
    position: sticky;
    left: 0;
    z-index: 2;
    background: rgba(4, 18, 24, 0.96);
    box-shadow: 6px 0 10px rgba(4, 18, 24, 0.85);
}

.shop-purchases-filter-wrap--profile .shop-purchases-filter__btn.is-active {
    color: #fff;
    border-color: rgba(0, 180, 219, 0.65);
    background: rgba(0, 180, 219, 0.22);
}

.shop-purchases-filter-fade {
    pointer-events: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2.5rem;
    background: linear-gradient(90deg, transparent, rgba(4, 18, 24, 0.92));
    opacity: 0;
    transition: opacity 0.2s ease;
}

.shop-purchases-filter-wrap.is-scrollable .shop-purchases-filter-fade { opacity: 1; }
.shop-purchases-filter-wrap.is-scrolled-end .shop-purchases-filter-fade { opacity: 0; }

.shop-purchases-filter-select {
    display: none;
    width: 100%;
    min-height: 2.75rem;
    margin-bottom: 0.5rem;
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(0, 180, 219, 0.35);
    background: rgba(0, 0, 0, 0.35);
    color: var(--sushi-text);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--sushi-cyan) 50%),
        linear-gradient(135deg, var(--sushi-cyan) 50%, transparent 50%);
    background-position: calc(100% - 1.1rem) calc(50% + 0.12rem), calc(100% - 0.8rem) calc(50% + 0.12rem);
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    background-repeat: no-repeat;
}

.profile-purchases__filter-empty {
    flex-direction: column;
    gap: 0.45rem;
}

.profile-purchases__search {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.65rem;
    padding: 0.4rem 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.22);
}

.profile-purchases__search-icon {
    color: var(--sushi-muted);
    font-size: 0.82rem;
    flex-shrink: 0;
}

.profile-purchases__search-input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--sushi-text);
    font: inherit;
    font-size: 0.82rem;
}

.profile-purchases__search-input::placeholder {
    color: var(--sushi-muted);
}

.profile-purchases__search-input:focus {
    outline: none;
}

.profile-purchases__search:focus-within {
    border-color: rgba(0, 180, 219, 0.45);
    box-shadow: 0 0 0 1px rgba(0, 180, 219, 0.2);
}

.profile-purchases__link--sticky {
    display: inline-flex;
    margin-top: 0.35rem;
}

.profile-purchases__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    margin-bottom: 0.85rem;
}

.profile-purchases__lead {
    margin: 0.35rem 0 0;
    font-size: 0.88rem;
    color: var(--sushi-muted);
    line-height: 1.45;
}

.profile-purchases__link { flex-shrink: 0; }

.profile-language__lead {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    color: var(--sushi-muted);
    line-height: 1.45;
}

.lang-switcher-slot--profile .lang-switcher__trigger {
    width: 100%;
    justify-content: space-between;
}

.lang-switcher-slot--profile .lang-switcher__list {
    left: 0;
    right: 0;
    min-width: 100%;
}

/* ——— Profile page v2 (mobile-first enhancements) ——— */
.profile-page.account-page {
    overflow-x: clip;
    padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0px));
}

.profile-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    margin: 0 0 0.85rem;
    font-size: 0.8rem;
    color: var(--sushi-muted);
}

.profile-crumbs__link {
    color: var(--sushi-muted);
    text-decoration: none;
}

.profile-crumbs__link:hover { color: var(--sushi-yellow); }
.profile-crumbs__sep { color: rgba(255, 255, 255, 0.28); }
.profile-crumbs__current { color: var(--sushi-yellow); font-weight: 700; }

.profile-section-nav {
    display: none;
    position: sticky;
    top: calc(var(--site-nav-height, 4rem) - 1px);
    z-index: 12;
    gap: 0.35rem;
    margin: 0 0 0.85rem;
    padding: 0.45rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(4, 18, 24, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.profile-section-nav__link {
    flex: 1 1 auto;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.55rem;
    border-radius: 9px;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--sushi-muted);
    text-decoration: none;
    text-align: center;
    transition: background 0.15s ease, color 0.15s ease;
}

.profile-section-nav__link:hover,
.profile-section-nav__link.is-active {
    color: #fff;
    background: rgba(0, 180, 219, 0.18);
}

.profile-section-nav__link.is-active { color: var(--sushi-yellow); }

.profile-hero__headline {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin-bottom: 0.15rem;
}

.profile-demo-chip {
    display: inline-flex;
    padding: 0.16rem 0.45rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sushi-yellow);
    border: 1px solid rgba(255, 215, 0, 0.4);
    background: rgba(255, 215, 0, 0.1);
}

.profile-hero__email-value {
    word-break: normal;
}

.profile-hero__hint-btn--inline {
    min-width: 2rem;
    min-height: 2rem;
    font-size: 0.82rem;
}

.profile-copy-id {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0.2rem 0.55rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.2);
    color: var(--sushi-cyan);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.profile-hero__hint-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.22);
    color: var(--sushi-cyan);
    cursor: pointer;
}

.profile-hero__meta-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
}

.profile-hero__meta-sep { color: rgba(255, 255, 255, 0.42); }

.profile-hero__language-row {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    position: relative;
    z-index: 30;
}

.profile-hero__language-row .lang-switcher-slot--profile {
    width: auto;
    max-width: 100%;
}

.profile-hero__language-row .lang-switcher {
    width: auto;
    max-width: 100%;
}

.profile-hero__language-row .lang-switcher__trigger {
    width: auto;
    min-width: 9.5rem;
    max-width: 12rem;
    justify-content: space-between;
}

.profile-hero__language-row .lang-switcher__list {
    z-index: 220;
}

.profile-share-link {
    position: relative;
    z-index: 1;
}

.profile-id-hint-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    margin-left: 0.15rem;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(0, 180, 219, 0.45);
    background: rgba(0, 180, 219, 0.12);
    color: var(--sushi-cyan);
    cursor: pointer;
    flex-shrink: 0;
    font-size: 0.85rem;
    line-height: 1;
}

.profile-id-hint-btn:hover {
    color: var(--sushi-yellow);
    border-color: rgba(255, 215, 0, 0.55);
    background: rgba(255, 215, 0, 0.1);
}

.profile-id-hint-popover {
    position: absolute;
    z-index: 40;
    left: 0;
    top: calc(100% + 0.45rem);
    min-width: min(100%, 20rem);
    max-width: min(100vw - 2rem, 22rem);
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    border: 1px solid rgba(0, 180, 219, 0.35);
    background: rgba(4, 20, 28, 0.98);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
    font-size: 0.82rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.88);
}

.profile-id-hint-popover__title {
    margin: 0 0 0.45rem;
    font-weight: 800;
    font-size: 0.88rem;
    color: var(--sushi-yellow);
}

.profile-id-hint-popover__list {
    margin: 0;
    padding-left: 1.15rem;
}

.profile-id-hint-popover__list li + li {
    margin-top: 0.35rem;
}

.profile-hero__id-line {
    position: relative;
}

.profile-hero__wallet-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.5rem;
    align-items: stretch;
}

.profile-hero__wallet-inline.is-syncing {
    opacity: 0.55;
    pointer-events: none;
}

.profile-hero__wallet-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.35rem;
    padding: 0.35rem 0.7rem 0.35rem 0.55rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(155deg, rgba(12, 38, 50, 0.85), rgba(0, 0, 0, 0.28));
    font-size: 0.78rem;
}

.profile-hero__wallet-chip--gold {
    border-color: rgba(255, 215, 0, 0.28);
}

.profile-hero__wallet-chip--gems {
    border-color: rgba(255, 105, 180, 0.28);
}

.profile-hero__wallet-chip img {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    padding: 0.15rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.25);
}

.profile-hero__wallet-chip-label {
    color: rgba(255, 255, 255, 0.55);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.64rem;
    line-height: 1;
}

.profile-hero__wallet-chip-value {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #fff;
    font-size: 0.95rem;
    line-height: 1;
    margin-left: 0.1rem;
}

.profile-page-header--authed .profile-page__eyebrow,
.profile-page-header--authed .profile-page__title,
.profile-page-header--authed .profile-page__lead {
    display: none;
}

.profile-page-header--authed .account-page__header-row {
    margin-bottom: 0;
    align-items: center;
    gap: 0.85rem;
}

.profile-page-header--authed .profile-page__header-badge {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1.15rem;
}

.profile-page-header--authed .profile-page__header-player {
    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

.profile-page-header--authed .profile-page__header-player-label {
    color: var(--sushi-cyan);
}

.profile-page-header--authed .profile-page__header-player strong {
    font-size: clamp(1.25rem, 4vw, 1.55rem);
    font-weight: 800;
    color: var(--sushi-yellow);
    letter-spacing: 0.01em;
    text-transform: none;
}

.shop-purchase-item__receipt-num {
    margin-left: auto;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.22);
    font-size: 0.72rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: rgba(255, 255, 255, 0.72);
}

.profile-wallet--compact {
    padding: 0.85rem 1rem;
}

.profile-wallet--compact .profile-wallet__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.profile-wallet--compact .profile-wallet-card {
    min-height: 0;
    padding: 0.55rem 0.65rem;
}

.profile-wallet--compact .profile-wallet-card__wiki {
    display: none;
}

.is-live-pending[data-live-section] {
    opacity: 0.72;
}

.is-live-pending[data-live-section]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.04), transparent);
    animation: authSkeletonShimmer 1.4s ease-in-out infinite;
}

[data-live-section] {
    position: relative;
}

.shop-tabs__soon,
.profile-hero__shop-soon {
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.profile-hero__shop-btn--soon {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    opacity: 0.72;
    cursor: not-allowed;
}

.profile-hero__shop-btn--soon:hover {
    transform: none;
    box-shadow: none;
}

.profile-hero__avatar--apple {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(120, 120, 128, 0.28));
    border-color: rgba(255, 255, 255, 0.35);
}

.profile-hero__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.profile-copy-toast {
    display: inline-flex;
    align-items: center;
    margin-top: 0.35rem;
    padding: 0.28rem 0.55rem;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--sushi-yellow);
    background: rgba(255, 215, 0, 0.12);
    border: 1px solid rgba(255, 215, 0, 0.28);
}

.profile-wallet__empty-hint {
    margin: 0.55rem 0 0;
    font-size: 0.82rem;
    color: var(--sushi-muted);
    line-height: 1.45;
}

.profile-wallet__grid.is-syncing .profile-wallet-card {
    opacity: 0.55;
    pointer-events: none;
}

.profile-wallet-card.is-updated {
    animation: profileWalletPulse 0.65s ease;
}

@keyframes profileWalletPulse {
    0%, 100% { transform: scale(1); box-shadow: none; }
    45% { transform: scale(1.01); box-shadow: 0 0 12px rgba(0, 180, 219, 0.22); }
}

.profile-empty__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0 auto 0.55rem;
    border-radius: 999px;
    font-size: 1.15rem;
    color: var(--sushi-cyan);
    background: rgba(0, 180, 219, 0.12);
    border: 1px solid rgba(0, 180, 219, 0.28);
}

.profile-inv-preview__empty,
.profile-purchases__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.55rem;
    padding: 0.85rem 0.5rem;
    color: var(--sushi-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.profile-inv-chip__more-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 4.5rem;
    border-radius: 12px;
    border: 1px dashed rgba(255, 215, 0, 0.35);
    background: rgba(255, 215, 0, 0.06);
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--sushi-yellow);
    text-decoration: none;
}

.profile-stat-hero--zero .profile-stat-hero__value {
    color: var(--sushi-muted);
    font-weight: 600;
}

.profile-page .account-page__glow--left {
    opacity: 0.35;
}

.profile-page .account-page__title {
    font-size: clamp(1.35rem, 4vw, 2rem);
}

.profile-auth-panel .account-page__lead.is-hidden,
[data-profile-lead].is-hidden {
    display: none !important;
    margin: 0 !important;
}

.profile-dashboard__lower {
    display: grid;
    gap: 1rem;
}

.profile-dashboard__lower > .account-surface {
    min-width: 0;
}

.profile-stats {
    scroll-margin-top: calc(var(--site-nav-height, 4rem) + 3rem);
}

.profile-inv-preview__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.profile-inv-chip__name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.68rem;
    line-height: 1.2;
    text-align: center;
}

.profile-purchases__empty-cta,
.profile-inv-preview__cta {
    margin-top: 0.15rem;
}

.profile-hero__settings-details,
.profile-hero__settings-summary,
.profile-hero__settings {
    display: none !important;
}

.profile-linked--single .profile-linked__item {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    border-radius: 12px;
    padding: 0.75rem 1rem;
}

.profile-linked--active .profile-linked__title i {
    color: var(--sushi-cyan);
}

.profile-stats__tabs {
    display: none;
    gap: 0.35rem;
    margin: 0 0 0.75rem;
    padding: 0.3rem;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
}

.profile-stats__tab {
    flex: 1 0 auto;
    min-height: 2.75rem;
    padding: 0.45rem 0.75rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--sushi-muted);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    scroll-snap-align: start;
    white-space: nowrap;
}

.profile-stats__tab.is-active {
    color: var(--sushi-yellow);
    background: rgba(255, 215, 0, 0.12);
}

.profile-stats__group-title--desktop { display: flex; }

.profile-stat-hero--compact {
    flex-direction: row;
    align-items: center;
    gap: 0.65rem;
    min-height: 4.5rem;
}

.profile-stat-hero__text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    flex: 1 1 auto;
}

.profile-level-card__progress { height: 6px; }

.profile-inv-chip__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    min-width: 4.5rem;
    max-width: 5.5rem;
    color: inherit;
    text-decoration: none;
}

.profile-inv-chip__name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: var(--sushi-muted);
}

.profile-inv-preview__footer {
    margin: 0.75rem 0 0;
    text-align: center;
}

.profile-inv-preview__all {
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--sushi-cyan);
    text-decoration: none;
}

.profile-inv-preview__all:hover { color: var(--sushi-yellow); }

.profile-purchases__more {
    margin: 0.75rem 0 0;
    text-align: center;
}

.site-nav--auth-hidden .account-tools,
.site-nav--auth-hidden .site-nav__mobile-auth-slot {
    display: none !important;
}

.shop-coming-soon {
    margin-bottom: 1rem;
}

.site-back-top {
    position: fixed;
    z-index: 90;
    right: max(1rem, env(safe-area-inset-right, 0px));
    bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 215, 0, 0.45);
    background: linear-gradient(145deg, rgba(10, 74, 92, 0.95), rgba(6, 42, 54, 0.98));
    color: var(--sushi-yellow);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, opacity 0.2s ease;
}

.site-back-top:hover {
    border-color: var(--sushi-yellow);
    transform: translateY(-2px);
}

.site-back-top[hidden] { display: none !important; }

.profile-shop-fab {
    position: fixed;
    z-index: 90;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 215, 0, 0.45);
    background: linear-gradient(145deg, rgba(10, 74, 92, 0.95), rgba(6, 42, 54, 0.98));
    color: var(--sushi-yellow);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease;
    right: max(1rem, env(safe-area-inset-right, 0px));
    bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
}

.profile-shop-fab:hover {
    border-color: var(--sushi-yellow);
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    .profile-page:has(.profile-shop-fab) .site-back-top {
        bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
    }

    .profile-page:has(.profile-shop-fab.is-near-purchases) .site-back-top {
        bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px));
    }
}

.profile-auth-panel .account-page__lead.is-hidden,
[data-profile-lead].is-hidden { display: none !important; }

.profile-hero__provider-line {
    margin: 0.1rem 0 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--sushi-muted);
}

.profile-hero__name {
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.profile-hero__actions-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    width: 100%;
}

.profile-hero__actions-row .btn {
    width: 100%;
    min-height: 2.75rem;
}

.profile-hero__prefs-details {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 0.55rem;
}

.profile-hero__prefs-summary {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--sushi-cyan);
    cursor: pointer;
    list-style: none;
    padding: 0.35rem 0;
}

.profile-hero__prefs-summary::-webkit-details-marker { display: none; }


.profile-hero__language-row .lang-switcher__trigger {
    border-color: rgba(255, 215, 0, 0.45) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
    background: rgba(4, 20, 28, 0.85) !important;
    color: var(--sushi-yellow) !important;
}

.profile-hero__avatar--google {
    background: linear-gradient(145deg, #fff 0%, #f1f3f4 100%);
    border: 2px solid transparent;
    box-shadow: 0 0 0 2px rgba(66, 133, 244, 0.5), 0 8px 20px rgba(0, 0, 0, 0.25);
    color: #4285f4;
    font-size: 1.65rem;
}

.profile-page-header--compact .account-page__header-row,
.profile-page-header--authed.profile-page-header--compact {
    display: none;
}

.profile-crumbs--authed-hidden { display: none !important; }

.profile-shop-fab.is-near-purchases {
    bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px));
}

.profile-purchases .shop-purchase-item__receipt-toggle,
.profile-purchases .shop-purchase-item__receipt-body[hidden] {
    display: none !important;
}

.profile-dashboard__lower > .account-surface,
.profile-stats {
    contain-intrinsic-size: auto 320px;
}

@media (min-width: 768px) {
    .profile-stats__tabs { display: none !important; }

    .profile-stats__dives[hidden],
    .profile-stats__kitchen[hidden],
    .profile-stats__collection[hidden] {
        display: block !important;
    }

    .profile-section-nav { display: none !important; }

    .profile-shop-fab { display: none !important; }
}

@media (min-width: 1024px) {
    .profile-shop-fab { display: none !important; }
}

@media (pointer: coarse) {
    .profile-stat-hero:hover,
    .profile-level-card:hover,
    .profile-stat-chip:hover,
    .profile-inv-chip:hover,
    .profile-purchases .shop-purchase-item:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .profile-page .account-surface,
    .profile-page .account-page__header,
    .account-page__glow {
        animation: none !important;
    }
}

/* Profile — mobile & tablet narrow */
@media (max-width: 767px) {
    .profile-page.account-page {
        padding: calc(var(--site-nav-height, 4rem) + 0.85rem) 0 2.25rem;
    }

    .profile-page .account-page__glow {
        opacity: 0.45;
    }

    .profile-page .account-page__inner.container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .profile-page .account-page__header { margin-bottom: 0.85rem; }
    .profile-page .account-page__header-row { gap: 0.7rem; }

    .profile-page .account-page__header-badge {
        width: 2.75rem;
        height: 2.75rem;
        font-size: 1.1rem;
        border-radius: 11px;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    }

    .profile-page .account-page__title {
        font-family: var(--font);
        font-size: 1.45rem;
        letter-spacing: 0.02em;
    }

    .profile-page .account-page__lead {
        font-size: 0.88rem;
        line-height: 1.45;
    }

    .profile-page .account-surface {
        padding: 0.9rem 0.75rem;
        border-radius: 12px;
        margin-bottom: 0.65rem;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    }

    .profile-page .account-section__title {
        font-size: 0.98rem;
        flex-wrap: nowrap;
        gap: 0.45rem;
    }

    .profile-section-nav { display: flex; }

    .profile-dashboard__top,
    .profile-dashboard__lower { gap: 0.65rem; }

    .profile-dashboard__top {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .profile-dashboard__top .profile-wallet--bar { order: -1; }

    .profile-wallet--bar.is-stuck {
        position: sticky;
        top: calc(var(--site-nav-height, 4rem) + 2.85rem);
        z-index: 11;
    }

    .profile-hero__primary { gap: 0.75rem; }

    .profile-hero__avatar {
        width: 3.75rem;
        height: 3.75rem;
        font-size: 1.65rem;
    }

    .profile-hero__name {
        font-size: 1.15rem;
        -webkit-line-clamp: 2;
        white-space: normal;
    }

    .profile-hero__email,
    .profile-hero__id-row,
    .profile-hero__meta-line { font-size: 0.82rem; }

    .profile-hero__label {
        display: block;
        margin: 0 0 0.12rem;
        font-size: 0.72rem;
        text-transform: uppercase;
    }

    .profile-hero__meta-line .profile-hero__label {
        display: inline;
        text-transform: none;
        font-size: inherit;
    }

    .profile-hero__id-line code {
        font-size: 0.78rem;
        max-width: 100%;
        overflow-x: auto;
    }

    .profile-copy-id__text { display: none; }

    .profile-hero__refresh-label { display: none; }

    .profile-hero__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
        width: 100%;
    }

    .profile-hero__actions .profile-hero__shop-btn {
        grid-column: 1 / -1;
    }

    .profile-hero__actions .btn {
        min-height: 2.75rem;
        justify-content: center;
        width: 100%;
    }

    .profile-hero__prefs { grid-template-columns: 1fr; }

    .profile-wallet__grid { gap: 0.5rem; }

    .profile-wallet-card {
        padding: 0.55rem 0.6rem;
        min-height: auto;
    }

    .profile-wallet-card img { width: 2.25rem; height: 2.25rem; }

    .profile-wallet-card__value { font-size: 1rem; }

    .profile-wallet-card__wiki { display: none; }

    .profile-stats { margin-bottom: 0.65rem; }

    .profile-stats__tabs { display: flex; }

    .profile-stats__group-title--desktop { display: none; }

    .profile-stats__layout { display: block; }

    .profile-stats__dives:not(.is-active),
    .profile-stats__kitchen:not(.is-active),
    .profile-stats__collection:not(.is-active) {
        display: none !important;
    }

    .profile-stats__dives.is-active,
    .profile-stats__kitchen.is-active,
    .profile-stats__collection.is-active {
        display: block !important;
    }

    .profile-stats__dives,
    .profile-stats__kitchen,
    .profile-stats__collection {
        padding: 0.75rem;
        border-radius: 12px;
    }

    .profile-stats__kitchen {
        background: linear-gradient(165deg, rgba(18, 42, 52, 0.82), rgba(0, 0, 0, 0.28));
        box-shadow: none;
    }

    .profile-stats__dive-grid {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .profile-stat-hero { padding: 0.65rem 0.7rem; }

    .profile-level-card {
        padding: 0.75rem;
        gap: 0.65rem;
    }

    .profile-level-card__thumb {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .profile-level-card__name {
        overflow-wrap: anywhere;
        font-size: 0.88rem;
    }

    .profile-stats__collection-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }

    .profile-linked__list {
        flex-wrap: wrap;
        overflow-x: visible;
        padding-bottom: 0;
    }

    .profile-linked__item {
        flex: 1 1 100%;
        width: 100%;
    }

    .profile-purchases .shop-purchases-filter-wrap {
        margin-inline: 0;
    }

    .profile-purchases .shop-purchase-item--profile {
        padding: 0.7rem 0.75rem;
    }

    .profile-purchases .shop-purchase-item__receipt-copy span {
        display: none;
    }

    .profile-hero__prefs-details[open] .profile-hero__prefs,
    .profile-hero__prefs-details .profile-hero__prefs {
        display: grid;
    }

    .profile-inv-preview__grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
        justify-items: center;
    }

    .profile-inv-chip { padding: 0.35rem; width: 100%; }

    .profile-purchases__head { margin-bottom: 0.65rem; }

    .profile-guest-cta { width: 100%; min-height: 2.85rem; }

    .profile-stats__tabs { display: flex; }
}

@media (min-width: 768px) {
    .profile-hero__prefs-details > .profile-hero__prefs-summary { display: none; }
    .profile-hero__prefs-details { border: 0; padding-top: 0; }
    .profile-hero__prefs-details .profile-hero__prefs { display: grid !important; }
}

.profile-hero__refresh-btn.is-spinning i {
    animation: profileRefreshSpin 0.6s ease;
}

@keyframes profileRefreshSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.shop-purchase-item__status::before {
    content: "";
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    margin-right: 0.35rem;
    border-radius: 50%;
    background: currentColor;
    vertical-align: 0.05em;
}

.profile-level-card__thumb {
    min-width: 2.75rem;
    min-height: 2.75rem;
}

.profile-copy-id:focus-visible,
.profile-hero__hint-btn:focus-visible,
.profile-stats__tab:focus-visible,
.profile-section-nav__link:focus-visible,
.site-back-top:focus-visible,
.profile-shop-fab:focus-visible {
    outline: 2px solid var(--sushi-cyan);
    outline-offset: 2px;
}

@media (max-width: 360px) {
    .profile-page .account-page__inner.container {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .profile-page .account-page__title {
        font-size: 1.25rem;
    }

    .profile-stats__collection-grid {
        grid-template-columns: 1fr;
    }

    .profile-hero__avatar {
        width: 3.5rem;
        height: 3.5rem;
        font-size: 1.5rem;
    }

    .shop-purchases-filter-wrap--profile .shop-purchases-filter-select {
        display: block;
    }

    .shop-purchases-filter-wrap--profile .shop-purchases-filter-scroll,
    .shop-purchases-filter-wrap--profile .shop-purchases-filter-fade {
        display: none;
    }
}

@media (max-width: 767px) and (orientation: landscape) and (max-height: 520px) {
    .profile-hero__primary {
        flex-direction: row;
        align-items: flex-start;
        gap: 0.85rem;
    }

    .profile-hero__avatar {
        flex: 0 0 auto;
        margin: 0;
    }

    .profile-dashboard__top {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.65rem;
        align-items: start;
    }

    .profile-wallet--bar {
        margin-bottom: 0;
    }
}

@media (max-width: 767px) {
    .profile-hero__signout-btn--danger {
        border-color: rgba(255, 255, 255, 0.14) !important;
        color: var(--sushi-muted) !important;
        background: rgba(0, 0, 0, 0.2) !important;
    }

    .profile-hero__signout-btn--danger:hover {
        border-color: rgba(255, 120, 120, 0.35) !important;
        color: rgba(255, 200, 200, 0.9) !important;
        background: rgba(120, 24, 24, 0.18) !important;
    }
}

.shop-purchases-list--compact .shop-purchase-item { padding: 0.75rem 0.85rem; }

.account-toast-host {
    position: fixed;
    bottom: 1.25rem;
    right: 1.25rem;
    z-index: 10050;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: min(22rem, calc(100vw - 2rem));
    pointer-events: none;
}

.account-toast {
    padding: 0.75rem 1rem;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    background: rgba(10, 40, 52, 0.95);
    border: 1px solid rgba(0, 180, 219, 0.4);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.28s ease, transform 0.28s ease;
}

.account-toast.is-visible { opacity: 1; transform: translateY(0); }
.account-toast--success { border-color: rgba(127, 255, 154, 0.45); }
.account-toast--info { border-color: rgba(255, 215, 0, 0.35); }

.account-confetti-host {
    position: fixed;
    inset: 0;
    z-index: 10040;
    pointer-events: none;
    overflow: hidden;
}

.account-confetti-bit {
    position: absolute;
    top: 35%;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    animation: accountConfettiFall 1.4s ease-out forwards;
}

@keyframes accountConfettiFall {
    0% { opacity: 1; transform: translateY(0) rotate(0deg); }
    100% { opacity: 0; transform: translateY(55vh) rotate(540deg); }
}

.shop-quickview {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 1rem;
}

.shop-quickview[hidden],
.shop-quickview.hidden { display: none; }

.shop-quickview__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 10, 18, 0.78);
    backdrop-filter: blur(8px);
}

.shop-quickview__panel {
    position: relative;
    z-index: 1;
    width: min(26rem, 100%);
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 22px;
    border: 1px solid rgba(0, 180, 219, 0.42);
    background: linear-gradient(168deg, rgba(10, 42, 56, 0.98), rgba(4, 16, 24, 0.98));
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.04) inset,
        0 28px 70px rgba(0, 0, 0, 0.55),
        0 0 48px rgba(0, 180, 219, 0.12);
    animation: shopQuickViewIn 0.34s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes shopQuickViewIn {
    from { opacity: 0; transform: translateY(18px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.shop-quickview__close {
    position: absolute;
    top: 0.7rem;
    right: 0.7rem;
    z-index: 4;
    width: 2.15rem;
    height: 2.15rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.shop-quickview__close:hover {
    border-color: rgba(0, 180, 219, 0.45);
    background: rgba(0, 180, 219, 0.14);
    transform: scale(1.04);
}

.shop-quickview__hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 11.5rem;
    padding: 1.5rem 1.25rem 1rem;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.shop-quickview__hero-glow {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 85% 70% at 50% 15%, rgba(255, 215, 0, 0.16), transparent 62%),
        radial-gradient(ellipse 70% 55% at 50% 95%, rgba(0, 180, 219, 0.14), transparent 58%);
    pointer-events: none;
}

.shop-quickview__hero-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.35;
    background-image: radial-gradient(rgba(255, 255, 255, 0.14) 1px, transparent 1px);
    background-size: 14px 14px;
    pointer-events: none;
}

.shop-quickview__thumb {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shop-quickview__thumb img {
    width: 8.5rem;
    height: 8.5rem;
    object-fit: contain;
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.45));
}

.shop-quickview__decor {
    width: auto !important;
    height: auto !important;
    max-width: min(100%, 15rem);
    max-height: 9.5rem;
}

.shop-quickview__panel--decor .shop-quickview__hero {
    min-height: 12.5rem;
}

.shop-quickview__icon {
    display: flex;
    width: 5.5rem;
    height: 5.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 180, 219, 0.14);
    font-size: 2.2rem;
    color: var(--sushi-cyan);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.shop-quickview__badge {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    z-index: 3;
    display: inline-block;
    padding: 0.28rem 0.68rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

.shop-quickview__badge--best { background: rgba(255, 215, 0, 0.22); color: #ffe566; border: 1px solid rgba(255, 215, 0, 0.38); }
.shop-quickview__badge--new { background: rgba(100, 200, 255, 0.18); color: #9ee0ff; border: 1px solid rgba(100, 200, 255, 0.32); }
.shop-quickview__badge--hot { background: rgba(255, 100, 80, 0.18); color: #ffb0a0; border: 1px solid rgba(255, 100, 80, 0.32); }

.shop-quickview__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 1.1rem 1.25rem 1.25rem;
}

.shop-quickview__title {
    margin: 0 0 0.45rem;
    font-size: 1.42rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.shop-quickview__desc {
    margin: 0 0 0.85rem;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.86rem;
    line-height: 1.5;
}

.shop-quickview__includes-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.shop-quickview__includes-label {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.42);
}

.shop-quickview__item-count {
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.66rem;
    font-weight: 700;
    color: var(--sushi-muted);
}

.shop-quickview__items-wrap {
    position: relative;
    margin-bottom: 1rem;
    max-height: min(42vh, 16.5rem);
    overflow: hidden;
}

.shop-quickview__items {
    display: flex;
    flex-direction: column;
    gap: 0.48rem;
    margin: 0;
    padding: 0 0.15rem 0.5rem 0;
    max-height: min(42vh, 16.5rem);
    overflow: auto;
    list-style: none;
    scrollbar-width: thin;
}

.shop-quickview__items-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2.5rem;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(6, 22, 30, 0), rgba(6, 22, 30, 0.95));
}

.shop-quickview__item {
    display: grid;
    grid-template-columns: 2.75rem 1fr auto auto;
    align-items: center;
    gap: 0.6rem;
    padding: 0.52rem 0.62rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(145deg, rgba(0, 0, 0, 0.34), rgba(0, 0, 0, 0.18));
    font-size: 0.88rem;
    color: #fff;
    transition: border-color 0.16s ease, transform 0.16s ease, background 0.16s ease;
}

.shop-quickview__item:hover {
    border-color: rgba(0, 180, 219, 0.28);
    background: linear-gradient(145deg, rgba(0, 180, 219, 0.08), rgba(0, 0, 0, 0.22));
    transform: translateX(2px);
}

.shop-quickview__item--rare { border-left: 3px solid rgba(100, 180, 255, 0.6); }
.shop-quickview__item--epic { border-left: 3px solid rgba(180, 100, 255, 0.6); }
.shop-quickview__item--default { border-left: 3px solid rgba(190, 190, 190, 0.5); }

.shop-quickview__item-icon {
    width: 2.75rem;
    height: 2.75rem;
    object-fit: contain;
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.35));
}

.shop-quickview__item-icon--empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--sushi-cyan);
}

.shop-quickview__item-name {
    min-width: 0;
    font-weight: 600;
    line-height: 1.3;
}

.shop-quickview__item-qty {
    font-weight: 900;
    color: var(--sushi-yellow);
    font-variant-numeric: tabular-nums;
}

.shop-quickview__wiki {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 8px;
    border: 1px solid rgba(0, 180, 219, 0.32);
    background: rgba(0, 0, 0, 0.35);
    color: var(--sushi-cyan);
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.shop-quickview__wiki:hover {
    border-color: rgba(0, 180, 219, 0.55);
    background: rgba(0, 180, 219, 0.14);
}

.shop-quickview__footer {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.shop-quickview__price-block {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.62rem 0.9rem;
    border-radius: 13px;
    border: 1px solid rgba(255, 215, 0, 0.34);
    background: linear-gradient(145deg, rgba(255, 215, 0, 0.14), rgba(0, 0, 0, 0.34));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.shop-quickview__price-label {
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.48);
}

.shop-quickview__price-value {
    font-size: 1.55rem;
    font-weight: 900;
    color: var(--sushi-yellow);
    font-variant-numeric: tabular-nums;
    text-shadow: 0 0 20px rgba(255, 215, 0, 0.2);
}

.shop-quickview__buy {
    width: 100%;
    justify-content: center;
    padding: 0.72rem 1rem;
    font-size: 0.95rem;
    font-weight: 800;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(0, 120, 200, 0.28);
}

@media (min-width: 640px) {
    .shop-quickview { align-items: center; }
    .shop-quickview__panel { border-radius: 22px; }
}

@media (max-width: 639px) {
    .auth-modal__panel {
        align-self: flex-end;
        width: 100%;
        max-width: 100%;
        border-radius: 20px 20px 0 0;
        margin-bottom: 0;
        animation: accountModalIn 0.3s ease both;
    }

    .auth-modal {
        align-items: flex-end;
        padding: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .shop-offer-card,
    .shop-pack-card,
    .shop-cosmetic-card {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .shop-quickview__panel {
        animation: none;
    }

    .account-confetti-bit { animation: none; display: none; }
}

/* ——— Purchases filter, confirm, Stripe sandbox ——— */

.shop-purchases-filter-wrap {
    margin-bottom: 1rem;
    margin-inline: -0.25rem;
    padding-inline: 0.25rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.shop-purchases-filter {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    min-width: min-content;
    padding-bottom: 0.15rem;
}

.shop-purchases-filter__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.22);
    color: var(--sushi-muted);
    font-size: 0.76rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.shop-purchases-filter__btn:hover {
    color: #fff;
    border-color: rgba(0, 180, 219, 0.4);
}

.shop-purchases-filter__btn.is-active {
    color: #fff;
    border-color: rgba(0, 180, 219, 0.55);
    background: rgba(0, 180, 219, 0.18);
}

.shop-purchases-filter__btn i {
    font-size: 0.82rem;
    line-height: 1;
    opacity: 0.92;
}

.shop-purchases-list__item.is-receipt-highlight {
    animation: receiptHighlight 1.2s ease 2;
}

@keyframes receiptHighlight {
    0%, 100% { box-shadow: none; }
    50% { box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.55), 0 0 24px rgba(255, 215, 0, 0.2); }
}

.shop-purchase-item__actions {
    margin-top: 0.55rem;
}

.shop-purchase-item__repeat {
    font-size: 0.78rem;
}

.shop-confirm,
.shop-stripe {
    position: fixed;
    inset: 0;
    z-index: 10030;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.shop-confirm[hidden],
.shop-confirm.hidden,
.shop-stripe[hidden],
.shop-stripe.hidden { display: none; }

.shop-confirm__backdrop,
.shop-stripe__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 12, 18, 0.75);
    backdrop-filter: blur(4px);
}

.shop-confirm__panel,
.shop-stripe__panel {
    position: relative;
    z-index: 1;
    width: min(24rem, 100%);
    padding: 1.35rem;
    border-radius: 18px;
    border: 1px solid rgba(0, 180, 219, 0.35);
    background: linear-gradient(165deg, rgba(8, 36, 48, 0.98), rgba(4, 20, 28, 0.98));
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    animation: accountModalIn 0.32s ease both;
}

.shop-stripe__panel {
    width: min(26.5rem, 100%);
    padding: 1.25rem 1.35rem 1.15rem;
    border-color: rgba(99, 91, 255, 0.28);
}

.shop-confirm__close,
.shop-stripe__close {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
}

.shop-confirm__title,
.shop-stripe__title {
    margin: 0 0 0.45rem;
    font-size: 1.25rem;
    font-weight: 800;
    color: #fff;
}

.shop-confirm__lead {
    margin: 0 0 1rem;
    font-size: 0.88rem;
    color: var(--sushi-muted);
    line-height: 1.45;
}

.shop-confirm__product {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1.15rem;
    padding: 0.85rem;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.shop-confirm__thumb img {
    width: 4rem;
    height: 4rem;
    object-fit: contain;
}

.shop-confirm__icon {
    display: flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--sushi-cyan);
}

.shop-confirm__name {
    display: block;
    font-size: 1rem;
    color: #fff;
    margin-bottom: 0.2rem;
}

.shop-confirm__price {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--sushi-yellow);
}

.shop-confirm__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
}

.shop-stripe__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}

.shop-stripe__top { margin-bottom: 0.85rem; }

.shop-stripe__brand {
    display: inline-flex;
    align-items: center;
    font-size: 1.85rem;
    color: #635bff;
    line-height: 1;
}

.shop-stripe__sandbox {
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #f5c842;
    background: rgba(245, 200, 66, 0.12);
    border: 1px solid rgba(245, 200, 66, 0.32);
    white-space: nowrap;
}

.shop-stripe__title { margin: 0; }

.shop-stripe__product {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 1rem;
    padding: 0.8rem 0.9rem;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.shop-stripe__thumb {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
}

.shop-stripe__thumb img {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: contain;
}

.shop-stripe__thumb-fa {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    font-size: 1.35rem;
    color: var(--sushi-cyan);
}

.shop-stripe__product-meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.shop-stripe__product-name {
    display: block;
    font-size: 0.98rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

.shop-stripe__product-price {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--sushi-yellow);
}

.shop-stripe__form { display: flex; flex-direction: column; gap: 0.6rem; }

.shop-stripe__card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.shop-stripe__card-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--sushi-muted);
}

.shop-stripe__card-brands {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 1.15rem;
    color: rgba(255, 255, 255, 0.45);
}

.shop-stripe__field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--sushi-muted);
}

.shop-stripe__field--card { gap: 0; }

.shop-stripe__input-wrap {
    position: relative;
    display: block;
}

.shop-stripe__input-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.38);
    font-size: 0.95rem;
    pointer-events: none;
}

.shop-stripe__field input {
    width: 100%;
    padding: 0.62rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    font-size: 0.95rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.shop-stripe__field--card input { padding-left: 2.35rem; }

.shop-stripe__field input:focus {
    outline: none;
    border-color: rgba(99, 91, 255, 0.65);
    box-shadow: 0 0 0 3px rgba(99, 91, 255, 0.18);
}

.shop-stripe__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
}

.shop-stripe__deliver {
    margin: 0.15rem 0 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.62);
}

.shop-stripe__deliver i {
    margin-right: 0.35rem;
    color: var(--sushi-cyan);
}

.shop-stripe__hint {
    margin: 0;
    font-size: 0.76rem;
    color: rgba(127, 255, 154, 0.9);
}

.shop-stripe__hint i { margin-right: 0.35rem; }

.shop-stripe__test-hint {
    margin: 0;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.42);
    text-align: center;
}

.shop-stripe__pay {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    margin-top: 0.15rem;
    padding: 0.82rem 1rem;
    border: none;
    border-radius: 10px;
    background: linear-gradient(180deg, #7a7ff8 0%, #635bff 100%);
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(99, 91, 255, 0.35);
    transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.shop-stripe__pay:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(99, 91, 255, 0.42);
}

.shop-stripe__pay:disabled {
    opacity: 0.72;
    cursor: wait;
}

.shop-stripe__pay.is-processing .shop-stripe__pay-label::after {
    content: "";
    display: inline-block;
    width: 0.85rem;
    height: 0.85rem;
    margin-left: 0.45rem;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    vertical-align: -0.1rem;
    animation: shopStripeSpin 0.7s linear infinite;
}

.shop-stripe__pay-amount {
    font-size: 1rem;
    font-weight: 800;
    color: #fff;
}

/* WEB 2.4 — Stripe / PayPal provider chooser */
.shop-checkout {
    position: fixed;
    inset: 0;
    z-index: 12050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.shop-checkout[hidden],
.shop-checkout.hidden { display: none; }

.shop-checkout__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 12, 22, 0.72);
    backdrop-filter: blur(6px);
}

.shop-checkout__panel {
    position: relative;
    width: min(100%, 420px);
    max-height: min(92vh, 640px);
    overflow: auto;
    padding: 1.35rem 1.25rem 1.15rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(165deg, rgba(18, 28, 44, 0.98) 0%, rgba(10, 16, 28, 0.98) 100%);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.shop-checkout__close {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
}

.shop-checkout__title {
    margin: 0 0 0.35rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
}

.shop-checkout__lead {
    margin: 0 0 0.85rem;
    font-size: 0.86rem;
    color: rgba(255, 255, 255, 0.62);
}

.shop-checkout__product {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem;
    margin-bottom: 0.65rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
}

.shop-checkout__thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border-radius: 12px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: rgba(0, 0, 0, 0.25);
}

.shop-checkout__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shop-checkout__thumb-fa {
    font-size: 1.5rem;
    color: var(--sushi-cyan);
}

.shop-checkout__meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.shop-checkout__name {
    font-size: 0.95rem;
    line-height: 1.3;
    color: #fff;
}

.shop-checkout__price {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--sushi-gold, #ffd166);
}

.shop-checkout__deliver {
    margin: 0 0 0.85rem;
    font-size: 0.78rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.62);
}

.shop-checkout__deliver i {
    margin-right: 0.35rem;
    color: var(--sushi-cyan);
}

.shop-checkout__providers {
    display: grid;
    gap: 0.55rem;
}

.shop-checkout__pay {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.82rem 1rem;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.shop-checkout__pay:disabled {
    opacity: 0.65;
    cursor: wait;
}

.shop-checkout__pay--stripe {
    background: linear-gradient(180deg, #7a7ff8 0%, #635bff 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(99, 91, 255, 0.35);
}

.shop-checkout__pay--paypal {
    background: linear-gradient(180deg, #ffc439 0%, #f0b72d 100%);
    color: #111;
    box-shadow: 0 4px 14px rgba(240, 183, 45, 0.35);
}

.shop-checkout__status {
    min-height: 1.2rem;
    margin: 0.55rem 0 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.72);
    text-align: center;
}

.shop-checkout__secure {
    margin: 0.45rem 0 0;
    font-size: 0.74rem;
    color: rgba(127, 255, 154, 0.88);
    text-align: center;
}

.shop-checkout__secure i { margin-right: 0.35rem; }

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@keyframes shopStripeSpin {
    to { transform: rotate(360deg); }
}

@media (max-width: 639px) {
    .shop-confirm,
    .shop-stripe { align-items: flex-end; padding: 0; }

    .shop-confirm__panel,
    .shop-stripe__panel {
        width: 100%;
        border-radius: 20px 20px 0 0;
        max-height: 92vh;
        overflow-y: auto;
    }
}

/* --- Public player profile (/player/...) --- */
.public-player-page__inner {
    max-width: 920px;
    margin: 0 auto;
    padding: 1.5rem 1rem 3rem;
}

.public-player-page__header {
    margin-bottom: 1.25rem;
}

.public-player-page__title {
    margin: 0.35rem 0 0.5rem;
    font-size: clamp(1.6rem, 3vw, 2.1rem);
}

.public-player-page__lead {
    margin: 0;
    opacity: 0.82;
    max-width: 52ch;
}

.public-player-page__state {
    padding: 1.25rem 0;
}

.public-player-page__loading,
.public-player-page__error,
.public-player-page__empty {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
}

.public-player-section__title {
    margin: 0 0 0.85rem;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    opacity: 0.88;
}

.public-player-hero {
    margin-bottom: 1.15rem;
}

.public-player-social {
    margin-bottom: 1.15rem;
    padding: 1rem 1.1rem;
    border-radius: 16px;
    background: rgba(0, 24, 40, 0.55);
    border: 1px solid rgba(0, 249, 255, 0.12);
}

.public-player-social__counters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.public-player-social__counter {
    text-align: center;
    padding: 0.65rem 0.5rem;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.22);
}

.public-player-social__counter-value {
    display: block;
    font-size: 1.35rem;
    font-weight: 700;
    color: #00f9ff;
}

.public-player-social__counter-label {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.78rem;
    opacity: 0.78;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.public-player-social__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
}

.public-player-social__btn[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

.public-player-social__hint {
    margin: 0;
    font-size: 0.85rem;
    opacity: 0.72;
}

.public-player-stats__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.public-player-copy-id[data-copied="1"] span {
    color: #7dffb3;
}

@media (min-width: 720px) {
    .public-player-stats__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.public-player-api-dev {
    margin-bottom: 1.1rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 1px dashed rgba(0, 249, 255, 0.45);
    background: rgba(0, 40, 55, 0.55);
}

.public-player-api-dev__label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    opacity: 0.9;
}

.public-player-api-dev__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.public-player-api-dev__select {
    flex: 1 1 220px;
    min-width: 200px;
    padding: 0.45rem 0.55rem;
    border-radius: 8px;
    border: 1px solid rgba(0, 249, 255, 0.25);
    background: rgba(0, 0, 0, 0.35);
    color: inherit;
}

.public-player-api-dev__hint,
.public-player-api-dev__current {
    margin: 0.45rem 0 0;
    font-size: 0.82rem;
    opacity: 0.78;
}

.public-player-api-dev__current code {
    font-size: 0.8rem;
    word-break: break-all;
}

/* --- Profile expansion C16–C28 --- */
.profile-completion {
    margin: 0.35rem 0 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    background: rgba(0, 180, 219, 0.08);
    border: 1px solid rgba(0, 180, 219, 0.18);
}
.profile-completion__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
}
.profile-completion__bar {
    margin-top: 0.35rem;
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}
.profile-completion__bar-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #00b4db, #0083b0);
}
.profile-completion__hints {
    margin: 0.45rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.profile-completion__hint {
    font-size: 0.78rem;
    color: var(--sushi-cyan, #7dd3fc);
    text-decoration: none;
}
.profile-hero__country-row {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.35rem;
}
.profile-hero__country-select {
    width: 100%;
    max-width: 16rem;
    padding: 0.4rem 0.55rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.25);
    color: inherit;
}
.profile-collection-completion {
    margin-bottom: 0.85rem;
}
.profile-collection-completion__overall {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.55rem;
    font-weight: 700;
}
.profile-collection-completion__bars {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.profile-collection-bar {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 0.15rem 0.5rem;
    text-decoration: none;
    color: inherit;
    padding: 0.35rem 0;
}
.profile-collection-bar__track {
    grid-column: 1 / -1;
    height: 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
}
.profile-collection-bar__fill {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #00b4db, #0083b0);
}
.profile-prog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.55rem;
}
.profile-prog-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.55rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.18);
}
.profile-prog-card--locked {
    opacity: 0.55;
}
.profile-prog-card__thumb img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}
.profile-prog-card__name {
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.2;
}
.profile-prog-card__meta {
    display: block;
    font-size: 0.72rem;
    opacity: 0.85;
}
.profile-prog-card__progress {
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}
.profile-prog-card__progress-bar {
    display: block;
    height: 100%;
    background: var(--sushi-cyan, #00b4db);
}
.profile-activity__timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.profile-activity__item {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
}
.profile-activity__icon {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(0, 180, 219, 0.15);
    color: var(--sushi-cyan, #7dd3fc);
}
.profile-activity__text {
    margin: 0;
    font-size: 0.88rem;
}
.profile-activity__time {
    font-size: 0.75rem;
    opacity: 0.7;
}
.profile-referral__code-row,
.profile-referral__link-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.65rem;
}
.profile-referral__panels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.65rem;
}
.profile-referral__panel h4 {
    margin: 0 0 0.35rem;
    font-size: 0.85rem;
}
.profile-share-card__preview-wrap {
    margin-top: 0.65rem;
}
.profile-share-card__canvas {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
.community-hub-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}
.community-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.community-table th,
.community-table td {
    padding: 0.45rem 0.55rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    text-align: left;
}
.community-table__link {
    color: var(--sushi-cyan, #7dd3fc);
}
.community-hof {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.community-hof__item {
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.community-back {
    margin: 0 0 0.75rem;
}
.community-empty {
    opacity: 0.85;
}

@media (max-width: 767px) {
    .profile-prog-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        overflow-x: auto;
        grid-auto-flow: column;
        grid-auto-columns: minmax(120px, 1fr);
        padding-bottom: 0.35rem;
    }
    .profile-section-nav {
        overflow-x: auto;
        flex-wrap: nowrap;
    }
}

/* Profile portal: inbox, daily quests, badges, friends */
.profile-section-nav__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    height: 1.15rem;
    margin-left: 0.35rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    color: #062a35;
    background: var(--sushi-gold, #f0ca4a);
}
.profile-inbox__head,
.profile-daily__head,
.profile-badges__head,
.profile-friends__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}
.profile-inbox__lead,
.profile-daily__lead,
.profile-badges__lead,
.profile-friends__lead {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
    opacity: 0.85;
}
.profile-inbox__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.profile-inbox__skeleton,
.profile-daily__skeleton,
.profile-badges__skeleton {
    display: none;
    flex-direction: column;
    gap: 0.55rem;
}
.profile-inbox__skeleton.is-active,
.profile-daily__skeleton.is-active,
.profile-badges__skeleton.is-active {
    display: flex;
}
.profile-inbox__skeleton-row,
.profile-daily__card-skeleton {
    height: 3.2rem;
    border-radius: 10px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
    background-size: 200% 100%;
    animation: profile-portal-shimmer 1.2s ease infinite;
}
.profile-badges__skeleton.is-active {
    min-height: 6rem;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
    background-size: 200% 100%;
    animation: profile-portal-shimmer 1.2s ease infinite;
}
@keyframes profile-portal-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.profile-inbox__error {
    margin: 0 0 0.75rem;
    color: #ffb4b4;
    font-size: 0.9rem;
}
.profile-inbox__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.profile-inbox__item--unread .profile-inbox__row {
    border-color: rgba(240, 202, 74, 0.45);
    background: rgba(240, 202, 74, 0.08);
}
.profile-inbox__row {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.65rem;
    align-items: center;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.03);
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.profile-inbox__dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: transparent;
}
.profile-inbox__item--unread .profile-inbox__dot {
    background: var(--sushi-gold, #f0ca4a);
}
.profile-inbox__main {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.profile-inbox__from {
    font-size: 0.78rem;
    opacity: 0.75;
}
.profile-inbox__subject {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.profile-inbox__rewards {
    font-size: 0.78rem;
    color: var(--sushi-gold, #f0ca4a);
}
.profile-inbox__date {
    font-size: 0.75rem;
    opacity: 0.7;
    white-space: nowrap;
}
.profile-inbox__empty {
    text-align: center;
    padding: 1rem 0.5rem;
}
.profile-inbox__blacklist {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.profile-inbox__blacklist-title {
    margin: 0 0 0.55rem;
    font-size: 0.95rem;
}
.profile-inbox__blacklist-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.profile-inbox__blacklist-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
}
.profile-inbox__blacklist-empty {
    margin: 0;
    font-size: 0.88rem;
    opacity: 0.75;
}
.profile-inbox__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
}
.profile-inbox__input,
.profile-inbox__textarea {
    width: 100%;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(0, 0, 0, 0.2);
    color: inherit;
}
.profile-inbox__cost {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.85rem;
    font-size: 0.9rem;
    color: var(--sushi-gold, #f0ca4a);
}
.profile-mail-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.profile-mail-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 18, 24, 0.72);
}
.profile-mail-modal__panel {
    position: relative;
    width: min(100%, 32rem);
    max-height: min(88vh, 720px);
    overflow: auto;
    padding: 1rem 1.1rem 1.1rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(180deg, rgba(12, 52, 64, 0.98), rgba(6, 34, 42, 0.98));
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}
.profile-mail-modal__panel--compact {
    width: min(100%, 24rem);
}
.profile-mail-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}
.profile-mail-modal__head h4 {
    margin: 0;
    font-size: 1.05rem;
}
.profile-mail-modal__close {
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 1.1rem;
    cursor: pointer;
    opacity: 0.8;
}
.profile-mail-modal__meta {
    margin: 0 0 0.65rem;
    font-size: 0.82rem;
    opacity: 0.75;
}
.profile-mail-modal__body {
    white-space: pre-wrap;
    line-height: 1.5;
    margin-bottom: 0.75rem;
}
.profile-mail-modal__rewards {
    list-style: none;
    margin: 0 0 0.85rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    color: var(--sushi-gold, #f0ca4a);
}
.profile-mail-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.profile-mail-modal__danger {
    color: #ffb4b4;
}
body.profile-mail-modal-open {
    overflow: hidden;
}
.profile-daily__timer {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    background: rgba(0, 180, 219, 0.14);
    color: var(--sushi-cyan, #7dd3fc);
    white-space: nowrap;
}
.profile-daily__refresh-hint {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    background: rgba(240, 202, 74, 0.12);
    color: var(--sushi-gold, #f0ca4a);
    font-size: 0.88rem;
}
.profile-daily__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.65rem;
}
.profile-daily__card {
    padding: 0.85rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
}
.profile-daily__card-title {
    margin: 0 0 0.35rem;
    font-size: 0.92rem;
}
.profile-daily__card-progress {
    margin: 0 0 0.55rem;
    font-size: 0.82rem;
    opacity: 0.8;
}
.profile-daily__card-bar {
    height: 0.45rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}
.profile-daily__card-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #00b4db, #7dd3fc);
}
.profile-daily__empty {
    margin: 0;
    opacity: 0.8;
}
.profile-badges__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.65rem;
}
.profile-badges__filter {
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 0.82rem;
}
.profile-badges__filter.is-active {
    border-color: rgba(0, 180, 219, 0.45);
    background: rgba(0, 180, 219, 0.12);
}
.profile-badges__pin-hint {
    margin: 0 0 0.75rem;
    font-size: 0.85rem;
    opacity: 0.8;
}
.profile-badges__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}
.profile-badges__card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.85rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
}
.profile-badges__card--legacy {
    border-color: rgba(240, 202, 74, 0.45);
    box-shadow: inset 0 0 0 1px rgba(240, 202, 74, 0.15);
}
.profile-badges__card--pinned {
    background: rgba(240, 202, 74, 0.08);
}
.profile-badges__icon {
    font-size: 1.35rem;
    color: var(--sushi-gold, #f0ca4a);
}
.profile-badges__name {
    margin: 0;
    font-size: 0.92rem;
}
.profile-badges__desc {
    margin: 0;
    font-size: 0.78rem;
    opacity: 0.78;
}
.profile-badges__earned {
    font-size: 0.72rem;
    opacity: 0.65;
}
.profile-badges__empty {
    margin: 0;
    opacity: 0.8;
}
.profile-friends__pending-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.2rem;
    height: 1.2rem;
    margin-left: 0.35rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    font-size: 0.68rem;
    background: var(--sushi-gold, #f0ca4a);
    color: #062a35;
}
.profile-friends__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
}
.profile-friends__tab {
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 0.84rem;
}
.profile-friends__tab.is-active {
    border-color: rgba(0, 180, 219, 0.45);
    background: rgba(0, 180, 219, 0.12);
}
.profile-friends__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.profile-friends__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}
.profile-friends__name {
    font-weight: 600;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.profile-friends__tag {
    font-size: 0.75rem;
    opacity: 0.7;
    white-space: nowrap;
}
.profile-friends__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
}
.profile-friends__empty {
    margin: 0.75rem 0 0;
    font-size: 0.88rem;
    opacity: 0.75;
}
.profile-friends__remove {
    color: #ffb4b4;
}
.public-player-social__btn.is-active {
    border-color: rgba(0, 180, 219, 0.45);
    background: rgba(0, 180, 219, 0.12);
}
.profile-hero__tag--own {
    background: rgba(0, 180, 219, 0.18);
    color: var(--sushi-cyan, #7dd3fc);
}
/* Earned/pinned game badges — gold accent (achievement), readable mixed-case. */
.profile-hero__tag--badge {
    color: var(--account-gold, #f0ca4a);
    background: rgba(240, 202, 74, 0.13);
    border-color: rgba(240, 202, 74, 0.32);
    text-transform: none;
    letter-spacing: 0.01em;
    font-size: 0.72rem;
}
.profile-hero__tag--badge::before {
    content: "\f559"; /* fa-medal */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 0.32rem;
    font-size: 0.72em;
    opacity: 0.9;
}
.public-player-hero__cosmetics {
    margin: 0.25rem 0 0;
    font-size: 0.88rem;
    opacity: 0.8;
}
.public-player-stats__collection {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.75rem;
}
.public-player-stat-chip {
    display: inline-flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    min-width: 7rem;
}
.public-player-stat-chip__label {
    font-size: 0.75rem;
    opacity: 0.75;
}
.public-player-stat-chip__value {
    font-weight: 700;
}
@media (max-width: 767px) {
    .profile-inbox__row {
        grid-template-columns: auto 1fr;
    }
    .profile-inbox__date {
        grid-column: 2;
        justify-self: start;
    }
    .profile-friends__item {
        grid-template-columns: 1fr;
    }
    .profile-friends__actions {
        justify-content: flex-start;
    }
    .profile-badges__grid {
        grid-template-columns: 1fr;
    }
}

/* ============ Profile progression + daily quests redesign ============ */
.profile-progression .account-section__title[data-prog-collapse] {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    user-select: none;
}
.profile-prog-chevron {
    margin-left: auto;
    font-size: 0.78rem;
    opacity: 0.65;
    transition: transform 0.2s ease;
}
.profile-progression--collapsed .profile-prog-chevron { transform: rotate(-90deg); }
.profile-progression--collapsed .profile-prog-grid-wrap { display: none; }

/* Locked entries: dark silhouette + hidden identity */
.profile-prog-card--locked {
    opacity: 0.92;
    align-items: center;
    text-align: center;
    background: rgba(0, 0, 0, 0.3);
    border-style: dashed;
    border-color: rgba(255, 255, 255, 0.08);
}
.profile-prog-card__thumb--locked { position: relative; display: inline-flex; }
.profile-prog-card__thumb--locked img {
    width: 52px; height: 52px; object-fit: contain;
    filter: brightness(0) saturate(0);
    opacity: 0.32;
}
.profile-prog-card__thumb--locked .profile-prog-card__lock {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.95rem; color: rgba(255, 255, 255, 0.55);
}
.profile-prog-card__name--hidden { letter-spacing: 0.18em; color: var(--sushi-muted, rgba(255,255,255,0.5)); }
.profile-prog-card__locked-label {
    font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.5;
}

/* "Show locked" toggle */
.profile-prog-toggle {
    margin-top: 0.6rem;
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.4rem 0.85rem; border-radius: 999px;
    border: 1px solid var(--account-surface-border, rgba(255,255,255,0.14));
    background: rgba(255, 255, 255, 0.04);
    color: var(--sushi-text, #fff); font-size: 0.78rem; font-weight: 600; cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.profile-prog-toggle:hover { background: rgba(255, 255, 255, 0.08); border-color: var(--account-gold, #f5c451); }
.profile-prog-grid--locked { margin-top: 0.6rem; }
.profile-prog-empty--inline { margin: 0.4rem 0 0; font-size: 0.82rem; opacity: 0.7; }

/* Daily quests */
.profile-daily__empty--rich {
    display: flex; flex-direction: column; align-items: center; gap: 0.7rem;
    text-align: center; padding: 1.6rem 1rem;
    border: 1px dashed var(--account-surface-border, rgba(255,255,255,0.14));
    border-radius: 12px; background: rgba(0, 0, 0, 0.18); opacity: 1;
}
.profile-daily__empty-icon { font-size: 1.6rem; color: var(--account-gold, #f5c451); opacity: 0.85; }
.profile-daily__empty-text { max-width: 380px; font-size: 0.9rem; opacity: 0.85; }
.profile-daily__refresh-hint {
    display: flex; align-items: center; gap: 0.5rem;
    margin: 0 0 0.8rem; padding: 0.6rem 0.85rem; border-radius: 10px;
    border: 1px solid rgba(245, 196, 81, 0.35); background: rgba(245, 196, 81, 0.1);
    color: var(--account-gold, #f5c451); font-size: 0.82rem; font-weight: 600;
}
.profile-daily__card {
    position: relative; display: flex; flex-direction: column; gap: 0.4rem;
    padding: 0.85rem; border-radius: 12px;
    border: 1px solid var(--account-surface-border, rgba(255,255,255,0.1));
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(0,0,0,0.18));
}
.profile-daily__card--stale { opacity: 0.6; }
.profile-daily__card-icon {
    width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
    border-radius: 9px; background: rgba(245, 196, 81, 0.14); color: var(--account-gold, #f5c451);
}
.profile-daily__card-title { margin: 0; font-size: 0.9rem; }
.profile-daily__card-progress { margin: 0; font-size: 0.76rem; opacity: 0.8; }
.profile-daily__card-count { font-weight: 800; color: var(--account-gold, #f5c451); font-size: 0.95rem; }

/* Weapon progress accent */
.profile-prog-card--weapons .profile-prog-card__progress-bar { background: var(--account-gold, #f5c451); }

/* ============ Shop: game-gated offers + purchase provider badge ============ */
.shop-offer-card--locked-game { position: relative; }
.shop-offer-card--locked-game .shop-offer-card__buy,
.shop-offer-card--locked-game [data-shop-buy] { display: none !important; }
.shop-offer-card--locked-game > *:not(.shop-offer-card__gate) {
    filter: grayscale(0.85) brightness(0.72);
    opacity: 0.8;
}
.shop-offer-card__gate {
    position: absolute; inset: 0; z-index: 3;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 0.5rem; text-align: center; padding: 1rem;
    background: rgba(8, 12, 20, 0.62);
    -webkit-backdrop-filter: blur(1.5px); backdrop-filter: blur(1.5px);
    border-radius: inherit; color: #fff;
}
.shop-offer-card__gate i { font-size: 1.5rem; color: var(--account-gold, #f5c451); }
.shop-offer-card__gate span { font-size: 0.82rem; font-weight: 700; max-width: 82%; line-height: 1.3; }

.shop-purchase-item__provider {
    display: inline-flex; align-items: center; gap: 0.3rem;
    margin-left: 0.4rem; padding: 0.12rem 0.5rem; border-radius: 999px;
    font-size: 0.68rem; font-weight: 700; letter-spacing: 0.02em;
    border: 1px solid var(--account-surface-border, rgba(255,255,255,0.16));
    background: rgba(255,255,255,0.05);
}
.shop-purchase-item__provider--stripe { color: #8b85ff; border-color: rgba(99,91,255,0.45); }
.shop-purchase-item__provider--paypal { color: #4aa3e0; border-color: rgba(0,112,186,0.45); }

/* ============ Profile polish — wave 1 ============ */
/* #20 card hover lift */
.profile-prog-card:not(.profile-prog-card--locked) {
    transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}
.profile-prog-card:not(.profile-prog-card--locked):hover {
    transform: translateY(-2px);
    border-color: rgba(245, 196, 81, 0.4);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}
/* #22 fish/dish meta chips */
.profile-prog-card__meta {
    display: inline-block;
    margin: 0 0.3rem 0.15rem 0;
    padding: 0.06rem 0.42rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.06);
    font-size: 0.68rem;
}
/* #23 weapon accent */
.profile-prog-card--weapons { border-color: rgba(245, 196, 81, 0.22); }
.profile-prog-card--weapons:not(.profile-prog-card--locked):hover { border-color: rgba(245, 196, 81, 0.55); }
/* #13/#14 collection bars: animated fill + color grade */
.profile-collection-bar__fill { transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1), background 0.3s ease; }
.profile-collection-bar__fill.is-low { background: linear-gradient(90deg, #e7625f, #f1a14b); }
.profile-collection-bar__fill.is-mid { background: linear-gradient(90deg, #f1a14b, #f5c451); }
.profile-collection-bar__fill.is-high { background: linear-gradient(90deg, #34d399, #00b4db); }
/* #31 daily timer pill */
.profile-daily__timer {
    padding: 0.35rem 0.75rem; border-radius: 999px;
    border: 1px solid rgba(0, 180, 219, 0.35); background: rgba(0, 180, 219, 0.1);
    color: var(--sushi-cyan, #4fd0e8); font-size: 0.78rem; font-weight: 700; white-space: nowrap;
}
/* #32 refresh spinner */
[data-profile-daily-refresh].is-loading { pointer-events: none; opacity: 0.7; }
[data-profile-daily-refresh].is-loading i { animation: sushi-spin 0.8s linear infinite; }
@keyframes sushi-spin { to { transform: rotate(360deg); } }
/* #35 badge hover */
.profile-badges__card { transition: transform 0.14s ease, box-shadow 0.14s ease; }
.profile-badges__card:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 8px 20px rgba(0,0,0,0.4); }
.profile-badges__img { transition: transform 0.18s ease; }
.profile-badges__card:hover .profile-badges__img { transform: scale(1.06); }
/* collapse heading affordance */
.profile-progression .account-section__title[data-prog-collapse]:hover { color: var(--account-gold, #f5c451); }
/* #58 focus-visible */
.profile-prog-toggle:focus-visible,
[data-prog-collapse]:focus-visible,
[data-profile-daily-refresh]:focus-visible,
.profile-badges__pin:focus-visible {
    outline: 2px solid var(--account-gold, #f5c451); outline-offset: 2px; border-radius: 8px;
}
/* #57 reduced motion */
@media (prefers-reduced-motion: reduce) {
    .profile-prog-card, .profile-badges__card, .profile-badges__img,
    .profile-collection-bar__fill, .profile-prog-chevron { transition: none !important; }
    [data-profile-daily-refresh].is-loading i { animation: none !important; }
}

/* ============ Shop card fixes (proportions, modal scroll, owned, cosmetics) ============ */
/* Equal-height offer cards + bottom-aligned CTAs */
.shop-offers-grid { align-items: stretch; }
.shop-offer-card { height: 100%; }
.shop-offer-card__rewards { min-height: 3.1rem; }

/* Quickview modal: make the body the scroll container (fixes hard-clipped content) */
.shop-quickview__hero { flex-shrink: 0; }
.shop-quickview__body {
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 0;
    overscroll-behavior: contain;
}
.shop-quickview__body::-webkit-scrollbar { width: 8px; }
.shop-quickview__body::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.16); border-radius: 8px; }
.shop-quickview__footer { flex-shrink: 0; }

/* Cosmetic cards: equal heights, 2-line name clamp, footer pinned to bottom */
.shop-cosmetic-card__body { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; gap: 0.15rem; }
.shop-cosmetic-card__title {
    min-height: 2.5em;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    line-height: 1.25; margin: 0.1rem 0 0;
}
.shop-cosmetic-card__footer { margin-top: auto; }
.shop-cosmetics-grid { align-items: stretch; }

/* Purchased one-time content — prominent OWNED state (offers + cosmetics) */
.shop-offer-card--owned::before, .shop-cosmetic-card--owned::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; pointer-events: none;
    box-shadow: inset 0 0 0 1.5px rgba(80, 200, 120, 0.5);
}
.shop-buy-card__owned {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.42rem;
    width: 100%; padding: 0.72rem; border-radius: 12px;
    background: rgba(80, 200, 120, 0.16); color: #7ee0a4;
    border: 1px solid rgba(80, 200, 120, 0.45); font-weight: 800; letter-spacing: 0.03em;
}

/* Partial-owned pill ("1/4 owned") — clearer */
.shop-offer-card__owned-partial {
    display: inline-flex; align-items: center; gap: 0.3rem;
    margin-bottom: 0.45rem; padding: 0.18rem 0.6rem; border-radius: 999px;
    background: rgba(255, 215, 0, 0.16); color: #ffe566; border: 1px solid rgba(255, 215, 0, 0.34);
    font-size: 0.7rem; font-weight: 800;
}

/* ============ Profile progression accordion — layout fix ============ */
/* Full-width rows: each progression section owns its row, so collapsing one never
   stretches a neighbour to match an expanded card (the 2-col height-coupling artifact). */
.profile-dashboard__lower > .profile-progression { grid-column: 1 / -1; }
/* Collapsed = clean clickable header bar (no empty stretched box) */
.profile-progression .account-section__title[data-prog-collapse] {
    padding: 0.25rem 0.15rem;
    border-radius: 10px;
    transition: color 0.15s ease, background 0.15s ease;
}
.profile-progression .account-section__title[data-prog-collapse]:hover {
    background: rgba(255, 255, 255, 0.03);
    color: var(--account-gold, #f5c451);
}
.profile-progression--collapsed { padding-bottom: 1.05rem; }

/* ============ Badge showcase redesign ============ */
[data-profile-badges-grid].profile-badges__grid--showcase { display: block !important; }
/* Pinned showcase strip — large, glowing */
.profile-badges__showcase {
    display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center;
    padding: 0.5rem 0.5rem 1.2rem; margin-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.profile-badges__showcase-item { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; width: 96px; text-align: center; }
.profile-badges__showcase-icon {
    width: 84px; height: 84px; display: inline-flex; align-items: center; justify-content: center;
    filter: drop-shadow(0 0 14px rgba(245, 196, 81, 0.45)); transition: transform 0.2s ease;
}
.profile-badges__showcase-item:hover .profile-badges__showcase-icon { transform: translateY(-3px) scale(1.05); }
.profile-badges__showcase-name { font-size: 0.74rem; font-weight: 800; color: #fff; line-height: 1.2; }
/* Collection header */
.profile-badges__collection-head { display: flex; justify-content: flex-end; margin-bottom: 0.6rem; }
.profile-badges__collection-count {
    display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.25rem 0.7rem; border-radius: 999px;
    background: rgba(245, 196, 81, 0.12); color: var(--account-gold, #f5c451);
    border: 1px solid rgba(245, 196, 81, 0.3); font-size: 0.74rem; font-weight: 800;
}
/* Collection grid */
.profile-badges__collection { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.7rem; }
/* Card */
.profile-badges__card {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    padding: 0.9rem 0.7rem; border-radius: 14px; text-align: center;
    border: 1px solid var(--account-surface-border, rgba(255, 255, 255, 0.1));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(0, 0, 0, 0.18));
    transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}
.profile-badges__icon { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; }
.profile-badges__name { margin: 0; font-size: 0.86rem; font-weight: 800; color: #fff; }
.profile-badges__desc { margin: 0; font-size: 0.72rem; color: var(--sushi-muted, rgba(255, 255, 255, 0.6)); line-height: 1.35; }
.profile-badges__earned { font-size: 0.66rem; color: rgba(255, 255, 255, 0.45); }
/* Earned */
.profile-badges__card--earned { border-color: rgba(245, 196, 81, 0.28); }
.profile-badges__card--earned:hover { transform: translateY(-3px); border-color: rgba(245, 196, 81, 0.6); box-shadow: 0 10px 26px rgba(0, 0, 0, 0.4); }
.profile-badges__card--earned .profile-badges__img { transition: transform 0.18s ease; }
.profile-badges__card--earned:hover .profile-badges__img { transform: scale(1.07); }
/* Locked silhouette */
.profile-badges__card--locked { border-style: dashed; opacity: 0.85; }
.profile-badges__card--locked .profile-badges__icon { color: rgba(255, 255, 255, 0.32); font-size: 1.7rem; }
.profile-badges__card--locked .profile-badges__name { color: rgba(255, 255, 255, 0.4); letter-spacing: 0.15em; }
.profile-badges__desc--locked { color: rgba(255, 255, 255, 0.4); }
/* Pinned */
.profile-badges__card--pinned { border-color: rgba(0, 180, 219, 0.5); box-shadow: inset 0 0 0 1px rgba(0, 180, 219, 0.25); }
.profile-badges__pin-ribbon {
    position: absolute; top: -6px; right: -6px; width: 22px; height: 22px;
    display: flex; align-items: center; justify-content: center; border-radius: 50%;
    background: var(--sushi-cyan, #00b4db); color: #04222b; font-size: 0.6rem; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4);
}
.profile-badges__pin { margin-top: 0.2rem; }

/* ============ Progression collapsed-bar polish + summary ============ */
.profile-progression {
    background:
        radial-gradient(ellipse 55% 120% at 0% 0%, rgba(0, 180, 219, 0.06), transparent 60%),
        var(--account-surface);
}
.profile-progression .account-section__title[data-prog-collapse] { padding: 0.45rem 0.25rem; gap: 0.6rem; }
/* live summary chip in the header */
.profile-prog-summary { margin-left: auto; display: inline-flex; align-items: center; gap: 0.55rem; font-size: 0.74rem; font-weight: 700; }
.profile-prog-summary__count { color: rgba(255, 255, 255, 0.82); white-space: nowrap; }
.profile-prog-summary__bar { display: inline-block; width: 74px; height: 6px; border-radius: 999px; background: rgba(255, 255, 255, 0.12); overflow: hidden; }
.profile-prog-summary__bar > span { display: block; height: 100%; background: linear-gradient(90deg, #34d399, #00b4db); transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
.profile-prog-summary__pct { color: var(--account-gold, #f5c451); min-width: 2.6em; text-align: right; }
/* type accent on the leading icon */
#profile-progression-fish .account-section__title > i:first-child { color: #4fd0e8; }
#profile-progression-dish .account-section__title > i:first-child,
#profile-progression-weapons .account-section__title > i:first-child { color: var(--account-gold, #f5c451); }
/* chevron in a subtle circle */
.profile-prog-chevron {
    margin-left: 0.6rem; width: 1.7rem; height: 1.7rem; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; opacity: 0.85;
    background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.08);
}
.profile-progression .account-section__title[data-prog-collapse]:hover .profile-prog-chevron {
    background: rgba(245, 196, 81, 0.14); border-color: rgba(245, 196, 81, 0.38); opacity: 1;
}
@media (max-width: 560px) {
    .profile-prog-summary__bar { display: none; }
}

/* ============ Equipment Owned (inventory) polish ============ */
.shop-inv-section + .shop-inv-section { margin-top: 1.2rem; }
.shop-inv-section__title {
    display: flex; align-items: center; gap: 0.55rem;
    padding-bottom: 0.5rem; margin-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.shop-inv-section__title > i { color: var(--account-gold, #f5c451); }
.shop-inv-section__count {
    margin-left: 0.15rem; padding: 0.08rem 0.55rem; border-radius: 999px;
    background: rgba(0, 180, 219, 0.14); color: var(--sushi-cyan, #4fd0e8);
    border: 1px solid rgba(0, 180, 219, 0.3); font-size: 0.72rem; font-weight: 800;
}
.shop-inv-card { transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease; }
.shop-inv-card:hover { transform: translateY(-3px); border-color: rgba(0, 180, 219, 0.45); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.34); }
.shop-inv-card__icon { transition: transform 0.18s ease; }
.shop-inv-card:hover .shop-inv-card__icon { transform: scale(1.07); }
.shop-inv-card__badge--equipped { background: rgba(80, 200, 120, 0.18); color: #7ee0a4; border: 1px solid rgba(80, 200, 120, 0.4); }
/* stronger empty state */
[data-shop-inventory-empty]:not([hidden]) {
    display: flex; flex-direction: column; align-items: center; gap: 0.6rem;
    text-align: center; padding: 1.8rem 1rem;
    border: 1px dashed var(--account-surface-border, rgba(255, 255, 255, 0.14)); border-radius: 14px;
    background: rgba(0, 0, 0, 0.16); color: var(--sushi-muted, rgba(255, 255, 255, 0.65));
}

/* ============ Hero fixes + redesign ============ */
/* Stacking: the hero is static while .profile-share-link is positioned (z-index:1), so the whole
   hero subtree (incl. the language dropdown overflow) painted UNDER it. Give the hero its own
   context above siblings so the dropdown shows correctly. */
.profile-hero { position: relative; z-index: 10; }
.profile-hero__language-row { z-index: 50; }
.profile-hero__language-row .lang-switcher__list { z-index: 400; }

/* Pinned badge icons shown in the hero, next to the diver tag */
.profile-hero__badge-icon {
    display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center;
    filter: drop-shadow(0 0 6px rgba(245, 196, 81, 0.4));
}
.profile-hero__badge-icon .profile-badges__img { width: 100%; height: 100%; object-fit: contain; }

/* Settings: clean 3-up labeled field cards (was misaligned/накидано) */
.profile-hero__prefs {
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 0.7rem;
    align-items: stretch;
}
.profile-hero__language-row:not([hidden]),
.profile-hero__timezone-row,
.profile-hero__country-row {
    display: flex; flex-direction: column; gap: 0.42rem;
    padding: 0.72rem 0.85rem; border-radius: 12px; min-width: 0;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--account-surface-border, rgba(255, 255, 255, 0.1));
}
.profile-hero__prefs .profile-hero__label {
    font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.5); margin: 0; font-weight: 700;
}
.profile-hero__prefs .profile-hero__setting-value { font-size: 0.9rem; font-weight: 700; }
.profile-hero__country-label { display: flex; flex-direction: column; gap: 0.42rem; margin: 0; }
.profile-hero__country-select {
    width: 100%; padding: 0.46rem 0.6rem; border-radius: 8px;
    background: rgba(0, 0, 0, 0.28); color: var(--sushi-text, #fff);
    border: 1px solid var(--account-surface-border, rgba(255, 255, 255, 0.14)); font-size: 0.86rem;
}

/* ============ Daily quest reward chests + friends empty ============ */
.profile-daily__card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; }
.profile-daily__card-reward { flex-shrink: 0; }
.profile-daily__card-reward img { width: 34px; height: 34px; object-fit: contain; filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.4)); }
.profile-daily__card-reward-label {
    display: inline-flex; align-self: flex-start; margin-top: 0.4rem;
    padding: 0.12rem 0.5rem; border-radius: 999px; font-size: 0.68rem; font-weight: 800;
    border: 1px solid rgba(255, 255, 255, 0.14); background: rgba(255, 255, 255, 0.05);
}
.profile-daily__card--common .profile-daily__card-reward-label { color: #cdd6e3; border-color: rgba(180, 190, 205, 0.4); }
.profile-daily__card--rare .profile-daily__card-reward-label { color: #6db8ff; border-color: rgba(100, 180, 255, 0.45); background: rgba(100, 180, 255, 0.1); }
.profile-daily__card--epic .profile-daily__card-reward-label { color: #c08cff; border-color: rgba(180, 120, 255, 0.45); background: rgba(180, 120, 255, 0.1); }
.profile-daily__card--rare { border-color: rgba(100, 180, 255, 0.3); }
.profile-daily__card--epic { border-color: rgba(180, 120, 255, 0.32); }
/* Friends rich empty */
.profile-friends__empty--rich {
    display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
    text-align: center; padding: 1.6rem 1rem; margin: 0;
    border: 1px dashed var(--account-surface-border, rgba(255, 255, 255, 0.14)); border-radius: 14px;
    background: rgba(0, 0, 0, 0.16);
}
.profile-friends__empty-icon { font-size: 1.7rem; color: var(--account-gold, #f5c451); opacity: 0.85; }
.profile-friends__empty-title { font-size: 0.95rem; font-weight: 800; color: #fff; }
.profile-friends__empty-text { font-size: 0.84rem; color: var(--sushi-muted, rgba(255, 255, 255, 0.62)); max-width: 320px; }

/* ============ Progression card rework (consistent layout) ============ */
.profile-prog-card { gap: 0.5rem; padding: 0.7rem; align-items: stretch; }
.profile-prog-card__top { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; }
.profile-prog-card__thumb {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 54px; height: 54px; border-radius: 10px;
    background: radial-gradient(ellipse 80% 70% at 50% 35%, rgba(0, 180, 219, 0.1), transparent 65%), rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.profile-prog-card__thumb img { width: 42px; height: 42px; object-fit: contain; }
.profile-prog-card__lvl {
    padding: 0.16rem 0.5rem; border-radius: 999px; font-size: 0.66rem; font-weight: 800; white-space: nowrap;
    color: var(--account-gold, #f5c451); background: rgba(245, 196, 81, 0.12); border: 1px solid rgba(245, 196, 81, 0.3);
}
.profile-prog-card__name {
    display: block; font-size: 0.85rem; font-weight: 800; color: #fff; line-height: 1.25;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.profile-prog-card__sub {
    display: inline-flex; align-self: flex-start; padding: 0.1rem 0.5rem; border-radius: 7px;
    font-size: 0.7rem; font-weight: 600; color: rgba(255, 255, 255, 0.72); background: rgba(255, 255, 255, 0.05);
}
.profile-prog-card__progress { margin-top: auto; height: 5px; border-radius: 999px; }

/* ============ Progress & stats — rebalance (kill empty column) + polish ============ */
@media (min-width: 720px) {
    .profile-stats__layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }
    /* Collection (content-rich) takes the right column; Dives + Kitchen stack in the left.
       Previously Kitchen got the wide right column spanning 2 rows → huge empty void. */
    .profile-stats__dives { grid-column: 1; grid-row: 1; }
    .profile-stats__kitchen { grid-column: 1; grid-row: 2; }
    .profile-stats__collection { grid-column: 2; grid-row: 1 / span 2; }
}
.profile-stat-hero { transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease; }
.profile-stat-hero:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); }
.profile-level-card:hover { box-shadow: 0 8px 20px rgba(0, 0, 0, 0.32); }

/* ============ Hero + settings redesign — wave 1 ============ */
/* Avatar: gradient ring frame + glow + hover */
.profile-hero__avatar {
    box-shadow: 0 0 0 3px rgba(245, 196, 81, 0.55), 0 0 0 6px rgba(0, 180, 219, 0.22), 0 10px 26px rgba(0, 0, 0, 0.4);
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.profile-hero__avatar:hover { transform: scale(1.04); box-shadow: 0 0 0 3px rgba(245, 196, 81, 0.8), 0 0 0 7px rgba(0, 180, 219, 0.32), 0 12px 30px rgba(0, 0, 0, 0.45); }

/* Name bigger + tag pill */
.profile-hero__name { font-size: 2.05rem; font-weight: 900; letter-spacing: -0.01em; }
.profile-hero__tag {
    background: rgba(0, 180, 219, 0.14); color: var(--sushi-cyan, #4fd0e8);
    border: 1px solid rgba(0, 180, 219, 0.32); border-radius: 999px;
    padding: 0.2rem 0.62rem; font-size: 0.66rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em;
}

/* Wallet chips — premium, hover */
.profile-hero__wallet-chip {
    padding: 0.5rem 0.85rem; border-radius: 12px; font-weight: 800;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.2));
    transition: transform 0.14s ease, border-color 0.14s ease;
}
.profile-hero__wallet-chip:hover { transform: translateY(-2px); }
.profile-hero__wallet-chip--gold { border: 1px solid rgba(245, 196, 81, 0.42); }
.profile-hero__wallet-chip--gems { border: 1px solid rgba(214, 90, 255, 0.42); }
.profile-hero__wallet-chip-value { font-size: 1.05rem; }

/* Profile completion — panel, graded bar, clickable hint chips */
.profile-completion {
    padding: 0.85rem 1rem; border-radius: 12px;
    background: rgba(0, 0, 0, 0.18); border: 1px solid var(--account-surface-border, rgba(255, 255, 255, 0.1));
}
.profile-completion__bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, 0.1); overflow: hidden; }
.profile-completion__bar-fill { height: 100%; background: linear-gradient(90deg, #f1a14b, #34d399); transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
.profile-completion__pct { color: var(--account-gold, #f5c451); font-weight: 800; }
.profile-completion__hints { display: flex; flex-wrap: wrap; gap: 0.42rem; margin-top: 0.55rem; }
.profile-completion__hints > * {
    font-size: 0.73rem; color: var(--sushi-cyan, #4fd0e8); text-decoration: none;
    background: rgba(0, 180, 219, 0.1); border: 1px solid rgba(0, 180, 219, 0.26);
    border-radius: 999px; padding: 0.2rem 0.62rem; transition: background 0.14s ease, border-color 0.14s ease;
}
.profile-completion__hints > a:hover { background: rgba(0, 180, 219, 0.18); border-color: rgba(0, 180, 219, 0.5); }

/* Player ID — monospace pill */
code[data-account-player-id] {
    font-family: ui-monospace, Menlo, monospace; letter-spacing: 0.04em;
    background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px; padding: 0.18rem 0.5rem;
}
.profile-copy-id:hover { color: var(--account-gold, #f5c451); }

/* Settings: focus rings */
.profile-hero__country-select:focus-visible,
.profile-hero__language-row .lang-switcher__trigger:focus-visible {
    outline: 2px solid var(--account-gold, #f5c451); outline-offset: 2px;
}

/* Stale/offline snapshot banner — profile + public player pages.
   Shown when data is rendered from cache/static because the live backend was
   unreachable, so the page stays useful instead of blank. */
.sd-stale-banner {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0 0 1rem;
    padding: 0.7rem 1rem;
    border: 1px solid color-mix(in srgb, var(--account-gold, #f5c451) 38%, transparent);
    border-radius: 12px;
    background: color-mix(in srgb, var(--account-gold, #f5c451) 10%, var(--sushi-card, #0e2230));
    color: var(--sushi-text, #dbe7ef);
    font-size: 0.9rem;
    line-height: 1.35;
}
.sd-stale-banner i {
    color: var(--account-gold, #f5c451);
    flex: 0 0 auto;
}
.public-player-content > .sd-stale-banner,
.profile-dashboard > .sd-stale-banner {
    grid-column: 1 / -1;
}

/* Daily quest goal line — the human-readable objective ("Bring 5 Tuna") shown
   above the progress count when the game uploads rich quest detail. */
.profile-daily__card-desc {
    margin: 0.15rem 0 0.55rem;
    color: var(--sushi-text, #dbe7ef);
    font-size: 0.92rem;
    line-height: 1.35;
    opacity: 0.92;
}

/* ============================================================
   Friends block — reworked: add-friend bar, avatar cards,
   click-to-profile, inline message composer.
   ============================================================ */
.profile-friends__add {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.9rem;
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.18));
    border-radius: 12px;
    background: color-mix(in srgb, var(--account-gold, #f5c451) 5%, var(--sushi-card, #0e2230));
}
.profile-friends__add-icon {
    color: var(--account-gold, #f5c451);
    padding-left: 0.25rem;
}
.profile-friends__add-input {
    flex: 1 1 auto;
    min-width: 0;
    background: transparent;
    border: none;
    color: var(--sushi-text, #dbe7ef);
    font-size: 0.95rem;
    padding: 0.4rem 0.3rem;
}
.profile-friends__add-input::placeholder { color: var(--sushi-muted, #7e96a6); }
.profile-friends__add-input:focus { outline: none; }
.profile-friends__add-btn { flex: 0 0 auto; white-space: nowrap; }

.profile-friends__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.6rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.profile-friends__card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.18));
    border-radius: 14px;
    background: color-mix(in srgb, #0a1a26 60%, transparent);
    transition: border-color 0.18s ease, transform 0.18s ease;
}
.profile-friends__card:hover { border-color: color-mix(in srgb, var(--account-gold, #f5c451) 40%, transparent); }
.profile-friends__identity {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex: 1 1 140px;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}
.profile-friends__avatar {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-weight: 700;
    font-size: 1.05rem;
    color: #06141d;
    background: radial-gradient(circle at 30% 25%, #6fd6ee, #1f8fb0);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.12);
}
.profile-friends__card--incoming .profile-friends__avatar { background: radial-gradient(circle at 30% 25%, #f5d77a, #d39a2a); }
.profile-friends__card--friends .profile-friends__avatar { background: radial-gradient(circle at 30% 25%, #8ee6a8, #2fa45c); }
.profile-friends__meta { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.profile-friends__name {
    font-weight: 600;
    color: var(--sushi-text, #dbe7ef);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.profile-friends__identity:hover .profile-friends__name { color: var(--account-gold, #f5c451); }
.profile-friends__tag {
    font-size: 0.78rem;
    color: var(--sushi-muted, #7e96a6);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.profile-friends__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    margin-left: auto;
}
.profile-friends__view { padding-inline: 0.55rem; }
.profile-friends__pending {
    font-size: 0.78rem;
    color: var(--sushi-muted, #9fb3c2);
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.profile-friends__compose {
    flex: 1 1 100%;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 0.2rem;
}
.profile-friends__compose-body {
    width: 100%;
    resize: vertical;
    min-height: 2.4rem;
    border-radius: 10px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.22));
    background: #06141d;
    color: var(--sushi-text, #dbe7ef);
    padding: 0.5rem 0.6rem;
    font: inherit;
    font-size: 0.9rem;
}
.profile-friends__compose-body:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--account-gold, #f5c451) 55%, transparent);
}
.profile-friends__compose-actions { display: flex; gap: 0.4rem; }

/* ===== Share card — premium player visitka (1200×630 PNG) ===== */
.profile-share-card__preview-wrap {
    margin: 0.65rem 0 0.9rem;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--account-gold, #f5c451) 35%, transparent);
    box-shadow:
        0 22px 55px -18px rgba(0, 0, 0, 0.75),
        0 0 0 1px rgba(126, 230, 255, 0.12),
        0 0 42px -8px rgba(46, 197, 232, 0.35);
    line-height: 0;
    background: linear-gradient(145deg, rgba(8, 32, 48, 0.9), rgba(2, 14, 22, 0.95));
}
.profile-share-card__canvas {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1200 / 630;
}
.profile-share-card__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.profile-share-card__actions [data-profile-share-card-download]:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* ===== Country select — make it unmistakably interactive ===== */
.profile-hero__country-row { position: relative; z-index: 2; }
.profile-hero__country-label { display: flex; flex-direction: column; gap: 0.35rem; }
.profile-hero__country-select {
    position: relative;
    z-index: 2;
    pointer-events: auto;
    cursor: pointer;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    padding: 0.6rem 2.2rem 0.6rem 0.85rem;
    border-radius: 12px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.28));
    background-color: #06141d;
    color: var(--sushi-text, #dbe7ef);
    font: inherit;
    font-size: 0.95rem;
    /* custom chevron */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23f5c451' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
}
.profile-hero__country-select:hover { border-color: color-mix(in srgb, var(--account-gold, #f5c451) 45%, transparent); }
.profile-hero__country-select:focus-visible {
    outline: none;
    border-color: var(--account-gold, #f5c451);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--account-gold, #f5c451) 25%, transparent);
}
.profile-hero__country-select option { background: #06141d; color: var(--sushi-text, #dbe7ef); }

/* ===== Timezone — read-only chip with clock, not a bare string ===== */
.profile-hero__timezone-row { display: flex; flex-direction: column; gap: 0.35rem; }
.profile-hero__timezone-row .profile-hero__setting-value {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.85rem;
    border-radius: 12px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.22));
    background: #06141d;
    color: var(--sushi-text, #dbe7ef);
    font-size: 0.95rem;
}
.profile-hero__timezone-row .profile-hero__setting-value::before {
    content: "\f017"; /* fa-clock */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--account-gold, #f5c451);
}

/* ===== Profile completion — its own separated card ===== */
.profile-completion {
    margin: 0.9rem 0 0.2rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.18));
    border-radius: 14px;
    background: color-mix(in srgb, var(--account-gold, #f5c451) 4%, #0a1a26);
}

/* ===== Social-network layout: Inbox + Friends paired right under the profile ===== */
.profile-social-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}
@media (max-width: 900px) {
    .profile-social-row { grid-template-columns: 1fr; }
}

/* Hero quick-links — fast access to messages & friends, social-network style */
.profile-hero__quicklinks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.5rem 0 0.2rem;
}
.profile-hero__quicklink {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.22));
    background: color-mix(in srgb, #0a1a26 70%, transparent);
    color: var(--sushi-text, #dbe7ef);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: border-color 0.18s ease, transform 0.18s ease, background 0.18s ease;
}
.profile-hero__quicklink:hover {
    border-color: color-mix(in srgb, var(--account-gold, #f5c451) 45%, transparent);
    transform: translateY(-1px);
}
.profile-hero__quicklink i { color: var(--account-gold, #f5c451); }
.profile-hero__quicklink-count {
    display: inline-grid;
    place-items: center;
    min-width: 1.3rem;
    height: 1.3rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #e2483d;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
}

/* ============================================================
   Profile hero — social-network restructure (Telegram/FB-style)
   Two zones: identity (avatar + name + providers) left, wallet
   + quick-links + actions right; account block + completion below.
   ============================================================ */
.profile-hero__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem 1.5rem;
    align-items: start;
}
@media (max-width: 760px) {
    .profile-hero__top { grid-template-columns: 1fr; }
}

/* identity zone */
.profile-hero__identity-col {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    min-width: 0;
}
.profile-hero__avatar-wrap { position: relative; flex: 0 0 auto; }
.profile-hero__avatar {
    width: 96px;
    height: 96px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 2.4rem;
    color: #06141d;
    background: radial-gradient(circle at 30% 25%, #7fe0f5, #1f8fb0);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--account-gold, #f5c451) 75%, transparent),
        0 8px 24px -8px rgba(0, 0, 0, 0.6);
}
.profile-hero__avatar-provider {
    position: absolute;
    right: -2px;
    bottom: 14px;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: #1a1a1a;
    font-size: 0.85rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
.profile-hero__avatar-provider--google { color: #4285f4; }
.profile-hero__avatar-provider--apple { color: #000; }
.profile-hero__presence-dot {
    position: absolute;
    left: 4px;
    bottom: 12px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #5b6b78;
    border: 3px solid #0a1a26;
}
.profile-hero__presence-dot.is-online { background: #46d17f; box-shadow: 0 0 10px #46d17f88; }

.profile-hero__identity { min-width: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.profile-hero__status-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.profile-hero__tag {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6fd6ee;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, #6fd6ee 40%, transparent);
    background: color-mix(in srgb, #6fd6ee 12%, transparent);
}
.profile-hero__clan-chip {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--account-gold, #f5c451);
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--account-gold, #f5c451) 40%, transparent);
}
.profile-hero__name-row { display: flex; align-items: center; gap: 0.5rem; min-width: 0; }
.profile-hero__name {
    margin: 0;
    font-size: clamp(1.6rem, 4vw, 2.3rem);
    font-weight: 800;
    line-height: 1.05;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.profile-hero__name-edit {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.25));
    background: transparent;
    color: var(--sushi-muted, #9fb3c2);
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.profile-hero__name-edit:hover { color: var(--account-gold, #f5c451); border-color: var(--account-gold, #f5c451); background: color-mix(in srgb, var(--account-gold, #f5c451) 10%, transparent); }
.profile-hero__name-form { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.profile-hero__name-input {
    flex: 1 1 180px;
    min-width: 0;
    padding: 0.5rem 0.7rem;
    border-radius: 10px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.3));
    background: #06141d;
    color: #fff;
    font: inherit;
    font-size: 1.1rem;
    font-weight: 700;
}
.profile-hero__name-input:focus-visible { outline: none; border-color: var(--account-gold, #f5c451); box-shadow: 0 0 0 3px color-mix(in srgb, var(--account-gold, #f5c451) 25%, transparent); }

/* provider icon chips (replaces "Signed in via Google") */
.profile-hero__provider-icons { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.profile-hero__provider-icon {
    position: relative;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff;
    color: #222;
    font-size: 0.95rem;
}
.profile-hero__provider-icon--google { color: #4285f4; }
.profile-hero__provider-icon--apple { color: #000; }
.profile-hero__provider-icon--email { color: #d24; background: #0a1a26; color: #6fd6ee; border: 1px solid color-mix(in srgb, #6fd6ee 35%, transparent); }
.profile-hero__provider-icon--player_id { background: #0a1a26; color: var(--account-gold, #f5c451); border: 1px solid color-mix(in srgb, var(--account-gold, #f5c451) 35%, transparent); }
.profile-hero__provider-icon-check {
    position: absolute;
    right: -5px;
    bottom: -5px;
    font-size: 0.7rem;
    color: #46d17f;
    background: #0a1a26;
    border-radius: 50%;
}
.profile-hero__presence { margin: 0.15rem 0 0; font-size: 0.85rem; color: var(--sushi-muted, #9fb3c2); display: flex; align-items: center; gap: 0.4rem; }
.profile-hero__presence-dot-inline { width: 8px; height: 8px; border-radius: 50%; background: #46d17f; box-shadow: 0 0 8px #46d17f88; }

/* side zone */
.profile-hero__side-col {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.7rem;
    min-width: 240px;
}
@media (max-width: 760px) {
    .profile-hero__side-col { min-width: 0; }
}

/* account block (email + id + last activity) */
.profile-hero__account {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.6rem;
    margin-top: 1.1rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.14));
}
.profile-hero__account-item { display: flex; align-items: flex-start; gap: 0.6rem; min-width: 0; }
.profile-hero__account-icon {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: color-mix(in srgb, var(--account-gold, #f5c451) 8%, #0a1a26);
    color: var(--account-gold, #f5c451);
}
.profile-hero__account-meta { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.profile-hero__account-meta .profile-hero__label { font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sushi-muted, #7e96a6); }
.profile-hero__email-value { word-break: break-all; color: var(--sushi-text, #dbe7ef); }
.profile-hero__id-pill {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    color: #bff0ff;
    background: color-mix(in srgb, #6fd6ee 10%, #06141d);
    border: 1px solid color-mix(in srgb, #6fd6ee 25%, transparent);
    padding: 0.2rem 0.5rem;
    border-radius: 8px;
}
.profile-hero__meta-line { flex-direction: column; gap: 0.1rem; }
.profile-hero__meta-line .profile-hero__since,
.profile-hero__meta-line .profile-hero__updated { font-size: 0.82rem; color: var(--sushi-muted, #9fb3c2); }

/* ===== Daily quest cards — game-style (chest icon + title + bar with count inside) ===== */
.profile-daily__card-row { display: flex; align-items: center; gap: 0.8rem; }
.profile-daily__card-chesticon { flex: 0 0 auto; display: grid; place-items: center; width: 52px; height: 52px; }
.profile-daily__card-chesticon img { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 3px 6px rgba(0,0,0,0.5)); }
.profile-daily__card-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.profile-daily__card-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.profile-daily__bar {
    position: relative;
    height: 26px;
    border-radius: 999px;
    background: #0a2030;
    border: 1px solid rgba(120, 160, 190, 0.25);
    overflow: hidden;
}
.profile-daily__bar-fill {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #f0c24a, #f7d873);
    transition: width 0.5s ease;
}
.profile-daily__card--rare .profile-daily__bar-fill { background: linear-gradient(90deg, #3f8df0, #6fb4ff); }
.profile-daily__card--epic .profile-daily__bar-fill { background: linear-gradient(90deg, #9a5be0, #c89bff); }
.profile-daily__bar-text {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 0.82rem;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6);
    letter-spacing: 0.02em;
}
.profile-daily__card--done .profile-daily__bar-fill { background: linear-gradient(90deg, #2fa45c, #57d98a); }
.profile-daily__card-reward-label {
    display: inline-block;
    margin-top: 0.7rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    border: 1px solid currentColor;
}
.profile-daily__card-reward-label--common { color: #c7d2da; }
.profile-daily__card-reward-label--rare { color: #6fb4ff; }
.profile-daily__card-reward-label--epic { color: #c89bff; }

/* ============================================================
   Daily Quests — LiveOps redesign. Target icon = quest goal (left),
   chest = reward (clickable, bottom + bar end). Rarity-styled, ambient, dense.
   ============================================================ */
.profile-daily--liveops {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(90% 70% at 12% -8%, rgba(80, 210, 245, 0.09), transparent 55%),
        radial-gradient(60% 50% at 95% 110%, rgba(245, 196, 81, 0.06), transparent 50%),
        linear-gradient(180deg, rgba(8, 28, 40, 0.92), rgba(5, 18, 28, 0.98));
}
.profile-daily--liveops::before {
    content: "";
    position: absolute;
    left: -30px;
    bottom: 12px;
    width: 120px;
    height: 70px;
    opacity: 0.05;
    background: url("/Decor/Wiki/Fish/clownfish-sprite-icon.png") center / contain no-repeat;
    pointer-events: none;
}
.profile-daily--liveops::after {
    content: "";
    position: absolute;
    right: 8%;
    top: 18px;
    width: 90px;
    height: 55px;
    opacity: 0.04;
    background: url("/Decor/Wiki/Fish/tang-green-sprite-icon.png") center / contain no-repeat;
    pointer-events: none;
}

/* header: compact timer pill + lighter lead */
.profile-daily__timer {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.85rem;
    color: #6fd6ee;
    background: color-mix(in srgb, #6fd6ee 12%, transparent);
    border: 1px solid color-mix(in srgb, #6fd6ee 34%, transparent);
    white-space: nowrap;
}
.profile-daily__timer::before {
    content: "\f017"; /* fa-clock */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.8rem;
}
.profile-daily__lead { font-size: 0.85rem; color: var(--sushi-muted, #7e96a6); margin-top: 0.15rem; }

/* grid: 3 / 2 / 1 */
.profile-daily__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.85rem;
}
@media (max-width: 1024px) { .profile-daily__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .profile-daily__grid { grid-template-columns: 1fr; } }

/* card */
.profile-daily__card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 0.95rem 1rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(120, 160, 190, 0.2);
    background:
        radial-gradient(120% 80% at 90% -10%, rgba(110, 214, 238, 0.06), transparent 60%),
        linear-gradient(180deg, #0c2331, #081a26);
    overflow: hidden;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.profile-daily__card::after { /* faint bubble ambience */
    content: "";
    position: absolute;
    right: -20px; bottom: -20px;
    width: 90px; height: 90px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(140, 220, 245, 0.10), transparent 70%);
    pointer-events: none;
}
.profile-daily__card:hover { transform: translateY(-2px); }
.profile-daily__card--rare { border-color: rgba(79, 141, 240, 0.5); box-shadow: inset 0 0 0 1px rgba(79,141,240,0.15), 0 0 22px -10px rgba(79,141,240,0.5); }
.profile-daily__card--epic { border-color: rgba(154, 91, 224, 0.55); box-shadow: inset 0 0 0 1px rgba(154,91,224,0.18), 0 0 26px -10px rgba(154,91,224,0.6); }
.profile-daily__card--done { border-color: rgba(47, 164, 92, 0.6); box-shadow: 0 0 26px -10px rgba(47, 164, 92, 0.7); }

.profile-daily__card-main { display: flex; align-items: center; gap: 0.85rem; }
/* TARGET icon (the quest goal) — big, readable */
.profile-daily__lead { font-size: 0.82rem; color: var(--sushi-muted, #7e96a6); margin-top: 0.15rem; max-width: 36rem; }

.profile-daily__card-headrow {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}
.profile-daily__completed-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #57d98a;
    background: rgba(47, 164, 92, 0.14);
    border: 1px solid rgba(47, 164, 92, 0.45);
}

.profile-daily__bar-wrap {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}
.profile-daily__bar-wrap .profile-daily__bar { flex: 1 1 auto; min-width: 0; }

.profile-daily__bar-chest {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    text-decoration: none;
    border: 1px solid rgba(120, 160, 190, 0.25);
    background: rgba(255, 255, 255, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, filter 0.18s ease;
    cursor: pointer;
}
.profile-daily__bar-chest img { width: 30px; height: 30px; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.45)); }
.profile-daily__bar-chest.is-locked { filter: grayscale(0.65) opacity(0.72); }
.profile-daily__bar-chest.is-active { filter: none; box-shadow: 0 0 14px -4px rgba(87, 217, 138, 0.75); border-color: rgba(87, 217, 138, 0.55); }
.profile-daily__bar-chest--rare:hover { border-color: #6fb4ff; box-shadow: 0 0 14px -4px rgba(111, 180, 255, 0.85); transform: translateY(-1px) scale(1.04); }
.profile-daily__bar-chest--epic:hover { border-color: #c89bff; box-shadow: 0 0 14px -4px rgba(200, 155, 255, 0.85); transform: translateY(-1px) scale(1.04); }
.profile-daily__bar-chest--common:hover { border-color: #c7d2da; box-shadow: 0 0 14px -4px rgba(199, 210, 218, 0.7); transform: translateY(-1px) scale(1.04); }
.profile-daily__card--done .profile-daily__bar-chest.is-active { animation: daily-chest-pop 0.45s ease; }
@keyframes daily-chest-pop {
    0% { transform: scale(0.92); }
    60% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

/* TARGET icon — quest goal, never the reward chest */
.profile-daily__target {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: radial-gradient(circle at 35% 30%, rgba(255,255,255,0.10), rgba(255,255,255,0.02));
    border: 1px solid rgba(120, 160, 190, 0.22);
}
.profile-daily__target img { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 3px 6px rgba(0,0,0,0.55)); }
.profile-daily__target i { font-size: 1.7rem; color: #6fd6ee; }
.profile-daily__card--rare .profile-daily__target i { color: #6fb4ff; }
.profile-daily__card--epic .profile-daily__target i { color: #c89bff; }

.profile-daily__card-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.profile-daily__card-title {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* juicy progress bar with count inside */
.profile-daily__bar {
    position: relative;
    height: 28px;
    border-radius: 999px;
    background: #061a26;
    border: 1px solid rgba(120, 160, 190, 0.28);
    overflow: hidden;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.35);
}
.profile-daily__bar-fill {
    position: absolute; inset: 0 auto 0 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #e9b53d, #f7d873);
    box-shadow: 0 0 12px -2px rgba(247, 216, 115, 0.6);
    transition: width 0.6s cubic-bezier(.22,1,.36,1);
}
.profile-daily__card--rare .profile-daily__bar-fill { background: linear-gradient(90deg, #3f8df0, #79b6ff); box-shadow: 0 0 12px -2px rgba(79,141,240,0.7); }
.profile-daily__card--epic .profile-daily__bar-fill { background: linear-gradient(90deg, #9a5be0, #c89bff); box-shadow: 0 0 12px -2px rgba(154,91,224,0.7); }
.profile-daily__card--done .profile-daily__bar-fill { background: linear-gradient(90deg, #2fa45c, #57d98a); }
.profile-daily__bar-text {
    position: absolute; inset: 0;
    display: grid; place-items: center;
    font-size: 0.8rem; font-weight: 800; color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.7);
}

/* REWARD block — chest is the reward, clickable to wiki */
.profile-daily__reward {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.65rem;
    border-radius: 12px;
    text-decoration: none;
    border: 1px solid rgba(120, 160, 190, 0.2);
    background: rgba(255, 255, 255, 0.03);
    transition: border-color 0.18s, background 0.18s, transform 0.18s, box-shadow 0.18s;
    cursor: pointer;
}
.profile-daily__reward:hover { transform: translateY(-1px); background: rgba(255, 255, 255, 0.06); }
.profile-daily__reward--common:hover { border-color: #c7d2da; box-shadow: 0 0 16px -6px rgba(199,210,218,0.7); }
.profile-daily__reward--rare:hover { border-color: #6fb4ff; box-shadow: 0 0 16px -6px rgba(111,180,255,0.8); }
.profile-daily__reward--epic:hover { border-color: #c89bff; box-shadow: 0 0 16px -6px rgba(200,155,255,0.8); }
.profile-daily__reward-chest { flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center; position: relative; }
.profile-daily__reward-chest img { width: 40px; height: 40px; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5)); }
.profile-daily__reward--common .profile-daily__reward-chest img { filter: drop-shadow(0 2px 8px rgba(199, 210, 218, 0.4)); }
.profile-daily__reward--rare .profile-daily__reward-chest img { filter: drop-shadow(0 0 10px rgba(111, 180, 255, 0.5)) drop-shadow(0 2px 5px rgba(0,0,0,0.45)); }
.profile-daily__reward--epic .profile-daily__reward-chest img { filter: drop-shadow(0 0 12px rgba(200, 155, 255, 0.55)) drop-shadow(0 2px 5px rgba(0,0,0,0.45)); }

/* legacy chest-as-target layout — disabled */
.profile-daily__card-chesticon { display: none !important; }
.profile-daily__card-row--legacy { display: none !important; }
.profile-daily__reward-text { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.profile-daily__reward-label { font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sushi-muted, #7e96a6); }
.profile-daily__reward-name { font-size: 0.92rem; font-weight: 800; }
.profile-daily__reward--common .profile-daily__reward-name { color: #d3dde4; }
.profile-daily__reward--rare .profile-daily__reward-name { color: #6fb4ff; }
.profile-daily__reward--epic .profile-daily__reward-name { color: #c89bff; }
.profile-daily__reward-done { margin-left: auto; color: #46d17f; font-size: 1.1rem; }

/* ===== Hero social redesign — avatar emblem, showcase badges, social cards ===== */
.profile-hero__avatar--img { padding: 0; font-size: 0; }
.profile-hero__avatar--img img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }

/* showcase (pinned) badges — medal row */
.profile-hero__showcase { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.45rem; }
.profile-hero__medal {
    width: 50px; height: 50px;
    display: grid; place-items: center;
    border-radius: 50%;
    padding: 6px;
    background: radial-gradient(circle at 35% 28%, rgba(255,255,255,0.16), rgba(255,255,255,0.03));
    border: 1px solid color-mix(in srgb, var(--account-gold, #f5c451) 55%, transparent);
    box-shadow: 0 0 16px -5px color-mix(in srgb, var(--account-gold, #f5c451) 80%, transparent);
    transition: transform 0.16s ease;
}
.profile-hero__medal:hover { transform: translateY(-2px) scale(1.05); }
.profile-hero__medal img { width: 100%; height: 100%; object-fit: contain; }
.profile-hero__showcase-empty {
    display: inline-flex; align-items: center; gap: 0.45rem;
    font-size: 0.85rem; color: var(--sushi-muted, #9fb3c2); text-decoration: none;
    padding: 0.42rem 0.8rem; border: 1px dashed color-mix(in srgb, var(--account-gold, #f5c451) 45%, transparent); border-radius: 999px;
    transition: color 0.15s, border-color 0.15s;
}
.profile-hero__showcase-empty i { color: var(--account-gold, #f5c451); }
.profile-hero__showcase-empty:hover { color: var(--account-gold, #f5c451); border-color: var(--account-gold, #f5c451); }

/* social cards (Inbox / Friends) — primary social actions, not tiny buttons */
.profile-hero__social { display: flex; flex-direction: column; gap: 0.55rem; }
.profile-hero__social-card {
    display: flex; align-items: center; gap: 0.7rem;
    padding: 0.6rem 0.75rem; border-radius: 14px;
    border: 1px solid var(--account-surface-border, rgba(120,160,190,0.22));
    background: color-mix(in srgb, #0a1a26 70%, transparent);
    text-decoration: none; color: var(--sushi-text, #dbe7ef);
    transition: border-color 0.18s, transform 0.18s, background 0.18s, box-shadow 0.18s;
}
.profile-hero__social-card:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, #6fd6ee 50%, transparent);
    background: color-mix(in srgb, #6fd6ee 8%, #0a1a26);
    box-shadow: 0 6px 18px -10px rgba(111,214,238,0.6);
}
.profile-hero__social-icon {
    position: relative; flex: 0 0 auto;
    width: 44px; height: 44px; display: grid; place-items: center;
    border-radius: 12px; font-size: 1.15rem;
    background: color-mix(in srgb, #6fd6ee 14%, transparent); color: #6fd6ee;
}
.profile-hero__social-card--friends .profile-hero__social-icon { background: color-mix(in srgb, var(--account-gold, #f5c451) 14%, transparent); color: var(--account-gold, #f5c451); }
.profile-hero__social-icon .profile-hero__quicklink-count { position: absolute; top: -6px; right: -6px; }
.profile-hero__social-text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; line-height: 1.2; }
.profile-hero__social-label { font-weight: 700; }
.profile-hero__social-status { font-size: 0.8rem; color: var(--sushi-muted, #9fb3c2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.profile-hero__social-arrow { color: var(--sushi-muted, #7e96a6); font-size: 0.8rem; flex: 0 0 auto; }

/* sign out demoted to a quiet secondary account action */
.profile-hero__signout-btn { font-size: 0.85rem; opacity: 0.75; padding: 0.45rem 0.8rem; }
.profile-hero__signout-btn:hover { opacity: 1; }
.profile-hero__account-item[hidden] { display: none !important; }

/* ===== Profile hero — social card layout (3-zone) ===== */
.profile-hero--social {
    position: relative;
    overflow: hidden;
    padding: 1.15rem 1.25rem 1rem;
    background:
        radial-gradient(120% 80% at 0% -20%, rgba(80, 210, 245, 0.14), transparent 55%),
        radial-gradient(80% 60% at 100% 110%, rgba(245, 196, 81, 0.08), transparent 50%),
        linear-gradient(165deg, rgba(6, 24, 36, 0.98), rgba(4, 14, 22, 0.99));
    border-color: color-mix(in srgb, #6fd6ee 22%, transparent);
    box-shadow: 0 12px 40px -18px rgba(0, 180, 219, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.profile-hero__ambient {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.45;
    background:
        radial-gradient(circle at 18% 72%, rgba(111, 214, 238, 0.12) 0, transparent 28%),
        radial-gradient(circle at 82% 28%, rgba(245, 196, 81, 0.1) 0, transparent 24%);
}
.profile-hero__layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(220px, 0.9fr);
    gap: 1.1rem 1.35rem;
    align-items: start;
}
@media (max-width: 1024px) {
    .profile-hero__layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    .profile-hero__center-col {
        grid-column: 1 / -1;
    }
}
@media (max-width: 760px) {
    .profile-hero__layout { grid-template-columns: 1fr; }
    .profile-hero__identity-col { flex-direction: column; align-items: center; text-align: center; }
    .profile-hero__identity { align-items: center; }
    .profile-hero__identity-meta { justify-content: center; }
    .profile-hero__provider-icons { justify-content: center; }
    .profile-hero__name-row { justify-content: center; }
    .profile-hero__social { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; }
}

/* porthole avatar emblem */
.profile-hero__avatar-wrap--porthole::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid color-mix(in srgb, #6fd6ee 55%, transparent);
    box-shadow:
        0 0 0 3px color-mix(in srgb, var(--account-gold, #f5c451) 35%, transparent),
        0 0 24px -4px rgba(111, 214, 238, 0.55);
    pointer-events: none;
}
.profile-hero__avatar-wrap--porthole::after {
    content: "";
    position: absolute;
    top: 8px;
    right: 14px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.08));
    opacity: 0.55;
    pointer-events: none;
}

/* compact linked account chips */
.profile-hero__provider-icons--compact { gap: 0.3rem; margin-top: 0.15rem; }
.profile-hero__provider-icons--compact .profile-hero__provider-icon {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    font-size: 0.72rem;
}
.profile-hero__provider-icons--compact .profile-hero__provider-icon-check {
    right: -4px;
    bottom: -4px;
    font-size: 0.55rem;
}

/* identity meta strip: ID, member since, country */
.profile-hero__identity-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.85rem;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: var(--sushi-muted, #9fb3c2);
}
.profile-hero__id-compact {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}
.profile-hero__id-prefix {
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--sushi-muted, #7e96a6);
    text-transform: uppercase;
    font-size: 0.68rem;
}
.profile-hero__id-pill--compact {
    font-size: 0.82rem;
    padding: 0.12rem 0.4rem;
}
.profile-copy-id--compact {
    width: 28px;
    height: 28px;
    padding: 0;
    display: grid;
    place-items: center;
    border-radius: 8px;
    border: 1px solid color-mix(in srgb, #6fd6ee 30%, transparent);
    background: color-mix(in srgb, #6fd6ee 8%, transparent);
    color: #6fd6ee;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.profile-copy-id--compact:hover {
    color: var(--account-gold, #f5c451);
    border-color: color-mix(in srgb, var(--account-gold, #f5c451) 45%, transparent);
}
.profile-id-hint-btn--compact {
    width: 28px;
    height: 28px;
    padding: 0;
    display: grid;
    place-items: center;
    border: none;
    background: transparent;
    color: var(--sushi-muted, #7e96a6);
    cursor: pointer;
    border-radius: 8px;
}
.profile-id-hint-btn--compact:hover { color: #6fd6ee; }
.profile-hero__since-compact {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.profile-hero__since-compact i { color: var(--account-gold, #f5c451); font-size: 0.85rem; }
.profile-hero__country-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: color-mix(in srgb, #6fd6ee 10%, #06141d);
    border: 1px solid color-mix(in srgb, #6fd6ee 28%, transparent);
    color: #bff0ff;
    font-weight: 600;
}
.profile-hero__country-flag { font-size: 1rem; line-height: 1; }

/* center: showcase + completion */
.profile-hero__center-col {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-width: 0;
}
.profile-hero__showcase-block {
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--account-gold, #f5c451) 22%, transparent);
    background: color-mix(in srgb, #0a1a26 75%, transparent);
}
.profile-hero__showcase-heading {
    margin: 0 0 0.55rem;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--account-gold, #f5c451);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.profile-hero__showcase--medals {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0;
}
.profile-hero__showcase--medals .profile-hero__medal {
    width: 58px;
    height: 58px;
}
.profile-hero__medal--slot {
    border-style: dashed;
    opacity: 0.65;
    color: var(--sushi-muted, #7e96a6);
    text-decoration: none;
    font-size: 1rem;
}
.profile-hero__medal--slot:hover {
    opacity: 1;
    border-color: color-mix(in srgb, var(--account-gold, #f5c451) 55%, transparent);
    color: var(--account-gold, #f5c451);
}
.profile-hero__center-col .profile-completion {
    margin: 0;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.18));
    background: color-mix(in srgb, #06141d 80%, transparent);
}

/* right: wallet + shop row */
.profile-hero__wallet-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}
.profile-hero__wallet-row .profile-hero__wallet-inline {
    flex: 1 1 auto;
    display: flex;
    gap: 0.4rem;
}
.profile-hero__wallet-row .profile-hero__wallet-chip {
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.profile-hero__wallet-chip--gold {
    background: color-mix(in srgb, var(--account-gold, #f5c451) 12%, #0a1a26);
    border: 1px solid color-mix(in srgb, var(--account-gold, #f5c451) 35%, transparent);
    color: var(--account-gold, #f5c451);
}
.profile-hero__wallet-chip--gems {
    background: color-mix(in srgb, #c89bff 12%, #0a1a26);
    border: 1px solid color-mix(in srgb, #c89bff 35%, transparent);
    color: #e8c8ff;
}
.profile-hero__shop-btn--compact {
    flex: 0 0 auto;
    white-space: nowrap;
    box-shadow: 0 4px 16px -6px rgba(0, 180, 219, 0.55);
}

/* utility: synced + refresh */
.profile-hero__utility-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding-top: 0.15rem;
}
.profile-hero__synced {
    font-size: 0.78rem;
    color: var(--sushi-muted, #7e96a6);
}
.profile-hero__synced-label { font-weight: 600; }
.profile-hero__refresh-btn.is-syncing .profile-hero__refresh-icon {
    animation: profile-hero-spin 0.85s linear infinite;
}
@keyframes profile-hero-spin {
    to { transform: rotate(360deg); }
}
.profile-hero__refresh-btn:disabled { opacity: 0.65; cursor: wait; }

/* demoted sign out */
.profile-hero__account-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 0.1rem;
}
.profile-hero__signout-btn {
    font-size: 0.8rem;
    opacity: 0.7;
    padding: 0.35rem 0.65rem;
}
.profile-hero__signout-btn:hover { opacity: 1; }

/* settings strip */
.profile-hero__prefs-details {
    margin-top: 0.85rem;
    border-top: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.14));
    padding-top: 0.65rem;
}
.profile-hero__prefs-summary {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--sushi-muted, #9fb3c2);
    list-style: none;
    user-select: none;
}
.profile-hero__prefs-summary::-webkit-details-marker { display: none; }
.profile-hero__prefs-summary:hover { color: #6fd6ee; }
.profile-hero__email-compact {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.55rem;
    margin-bottom: 0.55rem;
    border-radius: 10px;
    background: color-mix(in srgb, #6fd6ee 6%, #06141d);
    font-size: 0.85rem;
    color: var(--sushi-text, #dbe7ef);
    word-break: break-all;
}
.profile-hero__email-compact i { color: #6fd6ee; flex-shrink: 0; }
.profile-hero__prefs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.65rem;
    padding-top: 0.65rem;
}

/* nickname edit states */
.profile-hero__name-row.is-saving .profile-hero__name-edit { opacity: 0.4; pointer-events: none; }
.profile-hero__name-row.is-saved .profile-hero__name-edit {
    color: #46d17f;
    border-color: #46d17f;
}
.profile-hero__name-form.is-saving [data-profile-name-save] { opacity: 0.7; pointer-events: none; }

/* larger social cards in side column */
.profile-hero__side-col .profile-hero__social-card {
    padding: 0.75rem 0.85rem;
}
.profile-hero__side-col .profile-hero__social-icon {
    width: 48px;
    height: 48px;
    font-size: 1.2rem;
}
.profile-share-card__preview-wrap {
    margin-top: 1rem;
    padding: 0.65rem;
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, #6fd6ee 35%, transparent);
    background: linear-gradient(145deg, rgba(6, 28, 40, 0.9), rgba(4, 16, 24, 0.95));
    box-shadow: 0 0 32px -8px rgba(111, 214, 238, 0.45);
    animation: profile-share-glow 3s ease-in-out infinite alternate;
}
@keyframes profile-share-glow {
    from { box-shadow: 0 0 24px -10px rgba(111, 214, 238, 0.35); }
    to { box-shadow: 0 0 40px -6px rgba(245, 196, 81, 0.35); }
}
.profile-share-card__canvas {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}
.profile-share-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}
.profile-share-card__actions [data-profile-share-card-download]:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.profile-hero__showcase--medals .profile-hero__medal {
    width: 64px;
    height: 64px;
    text-decoration: none;
}
.profile-hero__showcase--medals .profile-hero__medal img {
    filter: drop-shadow(0 2px 8px rgba(245, 196, 81, 0.45));
}
.profile-hero__showcase-heading i {
    color: var(--account-gold, #f5c451);
}
.profile-hero__social-card {
    min-height: 72px;
}
.profile-hero__social-card:active {
    transform: translateY(0);
}
.profile-hero__shop-btn--compact {
    min-height: 40px;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.profile-completion__hint {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    color: #6fd6ee;
    border: 1px solid color-mix(in srgb, #6fd6ee 35%, transparent);
    background: color-mix(in srgb, #6fd6ee 8%, transparent);
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.profile-completion__hint:hover {
    color: #fff;
    border-color: #6fd6ee;
    background: color-mix(in srgb, #6fd6ee 18%, transparent);
}

/* ===== Profile hero v3 — dense layout, no dead space ===== */
.profile-hero--social {
    padding: 0.9rem 1rem 2.35rem;
}
.profile-hero__layout--dense {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(200px, 240px);
    gap: 0.75rem 1rem;
    align-items: stretch;
}
.profile-hero__main {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-width: 0;
}
.profile-hero__identity-row {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
}
.profile-hero__avatar-wrap--porthole .profile-hero__avatar {
    width: 76px;
    height: 76px;
    font-size: 2rem;
}
.profile-hero__presence-dot,
.profile-hero__avatar-wrap .profile-hero__presence-dot {
    display: none !important;
}
.profile-hero__identity {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}
.profile-hero__name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    min-width: 0;
}
.profile-hero__name {
    margin: 0;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.profile-hero__provider-icons--inline {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    flex: 0 0 auto;
}
.profile-hero__provider-icons--inline .profile-hero__provider-icon {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    font-size: 0.68rem;
}
.profile-hero__id-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.4rem;
    margin-top: 0.1rem;
}
.profile-hero__status-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.75rem;
    font-size: 0.78rem;
    color: var(--sushi-muted, #9fb3c2);
}
.profile-hero__presence--inline {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: #46d17f;
}
.profile-hero__presence--inline .profile-hero__presence-dot-inline {
    width: 7px;
    height: 7px;
    box-shadow: none;
}
.profile-hero__achieve-row {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 0.55rem;
    align-items: stretch;
}
.profile-hero__showcase-block {
    padding: 0.55rem 0.65rem;
    margin: 0;
}
.profile-hero__showcase--medals .profile-hero__medal {
    width: 52px;
    height: 52px;
}
.profile-hero__dock {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.55rem 0.6rem;
    border-radius: 14px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.22));
    background: color-mix(in srgb, #06141d 82%, transparent);
    min-width: 0;
}
.profile-hero__dock-wallet {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.profile-hero__dock .profile-hero__wallet-inline {
    display: flex;
    gap: 0.35rem;
}
.profile-hero__dock .profile-hero__wallet-chip {
    flex: 1 1 0;
    justify-content: center;
    padding: 0.3rem 0.45rem;
    font-size: 0.82rem;
}
.profile-hero__shop-btn--dock {
    width: 100%;
    justify-content: center;
    min-height: 36px;
    font-weight: 800;
}
.profile-hero__social--grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
}
.profile-hero__social--grid .profile-hero__social-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 0.55rem 0.6rem;
    min-height: 0;
    gap: 0.35rem;
}
.profile-hero__social--grid .profile-hero__social-icon {
    width: 36px;
    height: 36px;
    font-size: 0.95rem;
}
.profile-hero__social--grid .profile-hero__social-arrow {
    display: none;
}
.profile-hero__social--grid .profile-hero__social-label {
    font-size: 0.82rem;
}
.profile-hero__social--grid .profile-hero__social-status {
    font-size: 0.72rem;
    white-space: normal;
    line-height: 1.25;
}
.profile-hero__signout-corner {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    z-index: 3;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, #e2483d 35%, transparent);
    background: color-mix(in srgb, #e2483d 10%, #0a1a26);
    color: #f08a82;
    cursor: pointer;
    opacity: 0.75;
    transition: opacity 0.15s, border-color 0.15s, background 0.15s;
}
.profile-hero__signout-corner:hover {
    opacity: 1;
    border-color: #e2483d;
    background: color-mix(in srgb, #e2483d 18%, #0a1a26);
}
.profile-hero__synced-corner {
    position: absolute;
    right: 0.85rem;
    bottom: 5.85rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    color: var(--sushi-muted, #7e96a6);
}
.profile-hero__refresh-icon-btn {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    border: 1px solid color-mix(in srgb, #6fd6ee 28%, transparent);
    background: color-mix(in srgb, #6fd6ee 8%, transparent);
    color: #6fd6ee;
    cursor: pointer;
    padding: 0;
}
.profile-hero__refresh-icon-btn.is-syncing .profile-hero__refresh-icon,
.profile-hero__refresh-btn.is-syncing .profile-hero__refresh-icon {
    animation: profile-hero-spin 0.85s linear infinite;
}
.profile-hero__refresh-icon-btn:disabled {
    opacity: 0.55;
    cursor: wait;
}
.profile-hero__utility-row,
.profile-hero__account-actions,
.profile-hero__side-col,
.profile-hero__center-col,
.profile-hero__identity-col,
.profile-hero__prefs-details {
    display: none !important;
}
.profile-completion--compact {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0;
    padding: 0.55rem 0.65rem;
    border-radius: 14px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.18));
    background: color-mix(in srgb, #06141d 80%, transparent);
}
.profile-completion--compact .profile-completion__ring {
    position: relative;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
}
.profile-completion--compact .profile-completion__svg {
    width: 44px;
    height: 44px;
    transform: rotate(-90deg);
}
.profile-completion--compact .profile-completion__track {
    fill: none;
    stroke: rgba(255, 255, 255, 0.1);
    stroke-width: 3;
}
.profile-completion--compact .profile-completion__arc {
    fill: none;
    stroke: #46d17f;
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.5s ease;
}
.profile-completion--compact .profile-completion__pct {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 0.68rem;
    font-weight: 800;
    color: #46d17f;
}
.profile-completion--compact .profile-completion__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.profile-completion--compact .profile-completion__label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sushi-muted, #9fb3c2);
}
.profile-completion--compact .profile-completion__bar {
    height: 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    overflow: hidden;
}
.profile-completion--compact .profile-completion__hints {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.profile-completion--compact .profile-completion__hints > li {
    margin: 0;
}
.profile-completion__more {
    font-size: 0.72rem;
    color: var(--sushi-muted, #7e96a6);
    padding: 0.2rem 0.45rem;
}
.profile-hero__settings {
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.14));
}
.profile-hero__settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}
.profile-setting-tile {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    min-height: 88px;
    padding: 0.55rem 0.6rem;
    border-radius: 12px;
    border: 1px solid var(--account-surface-border, rgba(120, 160, 190, 0.2));
    background: color-mix(in srgb, #06141d 75%, transparent);
}
.profile-setting-tile__icon {
    color: var(--account-gold, #f5c451);
    font-size: 0.85rem;
    line-height: 1;
}
.profile-setting-tile__label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--sushi-muted, #7e96a6);
}
.profile-setting-tile__value {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--sushi-text, #dbe7ef);
    line-height: 1.3;
    word-break: break-word;
}
.profile-setting-tile__control {
    width: 100%;
    min-width: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--sushi-text, #dbe7ef);
    background: #06141d;
    border: 1px solid color-mix(in srgb, #6fd6ee 25%, transparent);
    border-radius: 8px;
    padding: 0.35rem 0.45rem;
}
.profile-setting-tile__control--lang {
    border: none;
    background: transparent;
    padding: 0;
}
.profile-setting-tile--country .profile-setting-tile__control {
    cursor: pointer;
}
.profile-hero__settings .profile-hero__email-compact {
    margin-top: 0.5rem;
}
@media (max-width: 1024px) {
    .profile-hero__layout--dense {
        grid-template-columns: 1fr;
    }
    .profile-hero__dock {
        order: 2;
    }
    .profile-hero__achieve-row {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 760px) {
    .profile-hero__identity-row {
        flex-direction: row;
        align-items: center;
    }
    .profile-hero__name-row {
        justify-content: flex-start;
    }
    .profile-hero__settings-grid {
        grid-template-columns: 1fr;
    }
    .profile-hero__social--grid {
        grid-template-columns: 1fr 1fr;
    }
    .profile-hero__synced-corner {
        position: static;
        justify-content: flex-end;
        margin-top: 0.35rem;
        padding-right: 0.15rem;
    }
    .profile-hero--social {
        padding-bottom: 0.85rem;
    }
}

/* ===== Profile hero v4 — account dashboard ===== */
.profile-hero--social {
    padding: clamp(1rem, 2vw, 1.35rem);
}

.profile-hero__layout--dashboard {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
}

.profile-hero__topline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15.5rem, 19rem);
    gap: 1rem;
    align-items: stretch;
}

.profile-hero__layout--dashboard .profile-hero__identity-row {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 0.15rem 0;
}

.profile-hero__layout--dashboard .profile-hero__avatar-wrap--porthole .profile-hero__avatar {
    width: clamp(5.25rem, 9vw, 6.75rem);
    height: clamp(5.25rem, 9vw, 6.75rem);
    font-size: clamp(2rem, 4vw, 2.7rem);
}

.profile-hero__layout--dashboard .profile-hero__avatar-wrap--porthole::before {
    inset: -0.45rem;
    box-shadow:
        0 0 0 0.22rem color-mix(in srgb, var(--account-gold, #f5c451) 32%, transparent),
        0 0 1.7rem -0.35rem rgba(111, 214, 238, 0.65);
}

.profile-hero__layout--dashboard .profile-hero__identity {
    min-width: 0;
    gap: 0.48rem;
}

.profile-hero__layout--dashboard .profile-hero__name-row {
    gap: 0.45rem;
}

.profile-hero__layout--dashboard .profile-hero__name {
    font-size: clamp(1.85rem, 4vw, 2.7rem);
    line-height: 0.98;
    max-width: min(100%, 34rem);
}

.profile-hero__layout--dashboard .profile-hero__name-edit {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
}

.profile-hero__layout--dashboard .profile-hero__status-line {
    gap: 0.45rem 0.9rem;
    font-size: 0.9rem;
}

.profile-hero__layout--dashboard .profile-hero__id-line--dashboard {
    width: fit-content;
    max-width: 100%;
    gap: 0.35rem;
    margin-top: 0;
    padding: 0.35rem 0.45rem 0.35rem 0.65rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, #6fd6ee 24%, transparent);
    background: color-mix(in srgb, #06141d 72%, transparent);
}

.profile-hero__layout--dashboard .profile-hero__id-pill--compact {
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border: 0;
    background: transparent;
    padding-inline: 0.15rem;
}

.profile-hero__linked-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-height: 1.75rem;
}

.profile-hero__linked-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--sushi-muted, #9fb3c2);
}

.profile-hero__layout--dashboard .profile-hero__provider-icons--inline {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.75rem;
}

.profile-hero__layout--dashboard .profile-hero__provider-icons--inline:empty::before {
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 0.45rem;
    border: 1px dashed color-mix(in srgb, #6fd6ee 22%, transparent);
    background: color-mix(in srgb, #6fd6ee 5%, transparent);
}

.profile-hero__layout--dashboard .profile-hero__dock {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem;
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, #6fd6ee 26%, transparent);
    background:
        radial-gradient(circle at 80% 0%, rgba(111, 214, 238, 0.13), transparent 42%),
        color-mix(in srgb, #06141d 86%, transparent);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.profile-hero__layout--dashboard .profile-hero__dock-wallet {
    gap: 0.65rem;
}

.profile-hero__layout--dashboard .profile-hero__dock .profile-hero__wallet-inline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.profile-hero__layout--dashboard .profile-hero__dock .profile-hero__wallet-chip {
    min-height: 2.55rem;
    justify-content: center;
    padding: 0.42rem 0.65rem;
    font-size: 1rem;
    border-radius: 14px;
}

.profile-hero__layout--dashboard .profile-hero__shop-btn--dock {
    min-height: 3rem;
    border-radius: 14px;
    font-size: 1rem;
}

.profile-hero__layout--dashboard .profile-hero__social--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
}

.profile-hero__layout--dashboard .profile-hero__social--grid .profile-hero__social-card {
    min-height: 5.25rem;
    padding: 0.7rem;
    border-radius: 14px;
}

.profile-hero__layout--dashboard .profile-hero__social--grid .profile-hero__social-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 12px;
}

.profile-hero__layout--dashboard .profile-hero__social--grid .profile-hero__social-label {
    font-size: 0.95rem;
}

.profile-hero__layout--dashboard .profile-hero__social--grid .profile-hero__social-status {
    font-size: 0.78rem;
    line-height: 1.28;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.profile-hero__body-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.9fr);
    gap: 0.85rem;
    align-items: stretch;
}

.profile-hero__body-grid .profile-hero__showcase-block,
.profile-hero__body-grid .profile-completion--compact {
    min-height: 8.25rem;
}

.profile-hero__body-grid .profile-hero__showcase-block {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0.85rem;
    border-radius: 16px;
}

.profile-hero__body-grid .profile-hero__showcase-heading {
    margin-bottom: 0.7rem;
}

.profile-hero__body-grid .profile-hero__showcase--medals {
    gap: 0.7rem;
}

.profile-hero__body-grid .profile-hero__showcase--medals .profile-hero__medal {
    width: 4.35rem;
    height: 4.35rem;
}

.profile-hero__body-grid .profile-completion--compact {
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem;
    border-radius: 16px;
}

.profile-hero__body-grid .profile-completion--compact .profile-completion__ring,
.profile-hero__body-grid .profile-completion--compact .profile-completion__svg {
    width: 4rem;
    height: 4rem;
}

.profile-hero__body-grid .profile-completion--compact .profile-completion__pct {
    font-size: 0.9rem;
}

.profile-hero__body-grid .profile-completion--compact .profile-completion__label {
    font-size: 0.82rem;
}

.profile-hero__body-grid .profile-completion--compact .profile-completion__bar {
    height: 0.45rem;
}

.profile-hero__footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding-top: 0.2rem;
    border-top: 1px solid color-mix(in srgb, #6fd6ee 14%, transparent);
}

.profile-hero__layout--dashboard .profile-hero__synced-corner {
    position: static;
    z-index: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    font-size: 0.8rem;
}

.profile-hero__layout--dashboard .profile-hero__refresh-icon-btn {
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
}

.profile-hero__layout--dashboard .profile-hero__signout-corner {
    position: static;
    z-index: auto;
    width: auto;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0 0.7rem;
    border-radius: 999px;
    border-color: color-mix(in srgb, #e2483d 22%, transparent);
    background: color-mix(in srgb, #e2483d 6%, transparent);
    color: #dca9a5;
    opacity: 0.72;
}

.profile-hero__layout--dashboard .profile-hero__signout-corner:hover {
    opacity: 1;
    border-color: color-mix(in srgb, #e2483d 38%, transparent);
    background: color-mix(in srgb, #e2483d 10%, transparent);
}

@media (max-width: 1080px) {
    .profile-hero__topline,
    .profile-hero__body-grid {
        grid-template-columns: 1fr;
    }

    .profile-hero__layout--dashboard .profile-hero__dock {
        order: 2;
    }
}

@media (max-width: 720px) {
    .profile-page__header {
        padding-top: 0.65rem;
    }

    .profile-hero__layout--dashboard .profile-hero__identity-row {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .profile-hero__layout--dashboard .profile-hero__identity,
    .profile-hero__layout--dashboard .profile-hero__name-row,
    .profile-hero__layout--dashboard .profile-hero__status-line,
    .profile-hero__layout--dashboard .profile-hero__id-line--dashboard,
    .profile-hero__linked-row {
        justify-content: center;
    }

    .profile-hero__layout--dashboard .profile-hero__name {
        white-space: normal;
        text-align: center;
    }

    .profile-hero__layout--dashboard .profile-hero__social--grid,
    .profile-hero__layout--dashboard .profile-hero__dock .profile-hero__wallet-inline {
        grid-template-columns: 1fr;
    }

    .profile-hero__footer-row {
        align-items: stretch;
        flex-direction: column;
    }

    .profile-hero__layout--dashboard .profile-hero__synced-corner,
    .profile-hero__layout--dashboard .profile-hero__signout-corner {
        justify-content: center;
    }
}

/* Profile hero v5 — identity-first composition */
.profile-hero__layout--dashboard {
    gap: 0.7rem;
}

.profile-hero__topline {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 18.5rem);
    gap: 1.1rem;
}

.profile-hero__layout--dashboard .profile-hero__identity-row {
    align-items: center;
    gap: clamp(1rem, 2vw, 1.45rem);
}

.profile-hero__layout--dashboard .profile-hero__avatar-wrap--porthole {
    position: relative;
}

.profile-hero__layout--dashboard .profile-hero__avatar-wrap--porthole .profile-hero__avatar {
    width: clamp(6rem, 10.2vw, 7.8rem);
    height: clamp(6rem, 10.2vw, 7.8rem);
    font-size: clamp(2.25rem, 4vw, 3.2rem);
}

.profile-hero__presence-dot {
    position: absolute;
    right: 0.64rem;
    bottom: 0.72rem;
    width: 0.96rem;
    height: 0.96rem;
    border: 3px solid rgba(5, 19, 29, 0.96);
    border-radius: 999px;
    background: #55d982;
    box-shadow:
        0 0 0 2px rgba(85, 217, 130, 0.34),
        0 0 1.25rem rgba(85, 217, 130, 0.5);
}

.profile-hero__layout--dashboard .profile-hero__identity {
    gap: 0.48rem;
}

.profile-hero__layout--dashboard .profile-hero__name {
    font-size: clamp(1.9rem, 3.45vw, 3.15rem);
    line-height: 1;
    letter-spacing: 0;
}

.profile-hero__layout--dashboard .profile-hero__name-edit {
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
}

.profile-hero__layout--dashboard .profile-hero__status-line {
    font-size: clamp(0.88rem, 1.25vw, 1rem);
    color: color-mix(in srgb, var(--sushi-text, #dbe7ef) 74%, var(--sushi-muted, #9fb3c2));
}

.profile-hero__layout--dashboard .profile-hero__presence--inline {
    display: none !important;
}

.profile-hero__layout--dashboard .profile-hero__id-line--dashboard {
    width: fit-content;
    max-width: 100%;
    padding: 0.34rem 0.42rem 0.34rem 0.68rem;
    border-color: color-mix(in srgb, #6fd6ee 32%, transparent);
    background: linear-gradient(90deg, rgba(6, 24, 36, 0.86), rgba(4, 14, 22, 0.76));
}

.profile-hero__layout--dashboard .profile-hero__id-pill--compact {
    font-size: clamp(0.84rem, 1.2vw, 1rem);
}

.profile-hero__layout--dashboard .profile-hero__provider-icons--inline {
    margin-left: 0.1rem;
    gap: 0.25rem;
    flex-wrap: nowrap;
}

.profile-hero__layout--dashboard .profile-hero__provider-icons--inline .profile-hero__provider-icon {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    box-shadow: none;
}

.profile-hero__layout--dashboard .profile-hero__provider-icons--inline .profile-hero__provider-icon-check {
    display: none;
}

.profile-hero__layout--dashboard .profile-hero__identity > .profile-hero__showcase-block {
    margin-top: 0.3rem;
    padding: 0;
    border: 0;
    background: transparent;
    min-height: 0;
}

.profile-hero__layout--dashboard .profile-hero__identity > .profile-hero__showcase-block .profile-hero__showcase-heading {
    margin: 0 0 0.35rem;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    color: color-mix(in srgb, var(--account-gold, #f5c451) 76%, #fff);
}

.profile-hero__layout--dashboard .profile-hero__identity > .profile-hero__showcase-block .profile-hero__showcase--medals {
    gap: 0.45rem;
}

.profile-hero__layout--dashboard .profile-hero__identity > .profile-hero__showcase-block .profile-hero__medal {
    width: clamp(2.55rem, 4.1vw, 3.15rem);
    height: clamp(2.55rem, 4.1vw, 3.15rem);
}

.profile-hero__layout--dashboard .profile-hero__identity > .profile-hero__showcase-block .profile-hero__medal--slot {
    background: rgba(255, 255, 255, 0.035);
}

.profile-hero__layout--dashboard > .profile-completion--compact {
    min-height: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    border-color: color-mix(in srgb, #6fd6ee 22%, transparent);
    background:
        linear-gradient(90deg, rgba(111, 214, 238, 0.08), rgba(70, 209, 127, 0.055)),
        color-mix(in srgb, #06141d 80%, transparent);
}

.profile-hero__layout--dashboard > .profile-completion--compact[hidden] {
    display: none !important;
}

.profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__ring,
.profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__svg {
    width: 3.1rem;
    height: 3.1rem;
}

.profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__pct {
    font-size: 0.78rem;
}

.profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__body {
    display: grid;
    grid-template-columns: minmax(9rem, auto) minmax(8rem, 1fr);
    align-items: center;
    gap: 0.65rem 0.9rem;
}

.profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__label {
    font-size: 0.82rem;
    white-space: nowrap;
}

.profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__bar {
    height: 0.5rem;
}

.profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__hints {
    grid-column: 1 / -1;
    gap: 0.35rem;
}

.profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__hints:empty {
    display: none;
}

.profile-hero__footer-row {
    margin-top: 0;
    padding-top: 0.45rem;
}

@media (max-width: 1080px) {
    .profile-hero__topline {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .profile-hero__layout--dashboard .profile-hero__identity-row {
        gap: 0.8rem;
    }

    .profile-hero__layout--dashboard .profile-hero__name {
        font-size: clamp(2rem, 13vw, 3rem);
    }

    .profile-hero__layout--dashboard .profile-hero__status-line {
        font-size: 0.92rem;
    }

    .profile-hero__layout--dashboard .profile-hero__identity > .profile-hero__showcase-block .profile-hero__showcase--medals {
        justify-content: center;
    }

    .profile-hero__layout--dashboard > .profile-completion--compact {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }

    .profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__body {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .profile-hero__layout--dashboard > .profile-completion--compact .profile-completion__label {
        white-space: normal;
    }
}

/* ============================================================
   Daily Quests v2 — equal cards, vivid rewards, claimed state
   ============================================================ */

/* Grid: stretch all cards to the same row height */
.profile-daily__grid {
    align-items: stretch;
    gap: 0.9rem;
}

/* Uniform card shell */
.profile-daily__card {
    height: 100%;
    min-height: 13.75rem;
    justify-content: space-between;
    padding: 1rem 1rem 0.8rem;
    gap: 0.7rem;
}

/* Completed badge — corner, never squeezes the title */
.profile-daily__completed-pill {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 3;
    flex: none;
    padding: 0.18rem 0.5rem;
    font-size: 0.64rem;
    box-shadow: 0 2px 8px rgba(47, 164, 92, 0.35);
}

/* Main block fills vertical space */
.profile-daily__card-main {
    flex: 1 1 auto;
    align-items: flex-start;
    min-height: 0;
}

.profile-daily__card-body {
    flex: 1 1 auto;
    justify-content: space-between;
    gap: 0.65rem;
}

/* Title slot — always two lines tall so cards align */
.profile-daily__card-title {
    min-height: 2.45em;
    padding-right: 0.15rem;
    letter-spacing: 0.01em;
}

/* Progress bar — full width, no side chest */
.profile-daily__bar-wrap {
    gap: 0;
    margin-top: auto;
}
.profile-daily__bar-chest {
    display: none !important;
}
.profile-daily__bar {
    height: 30px;
    border-color: color-mix(in srgb, #6fd6ee 22%, transparent);
}

/* Target icon — slightly tighter */
.profile-daily__target {
    width: 68px;
    height: 68px;
    border-radius: 13px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.profile-daily__target img {
    width: 54px;
    height: 54px;
}

/* Card rarity accents — stronger but controlled */
.profile-daily__card--common {
    border-color: rgba(140, 155, 168, 0.28);
}
.profile-daily__card--rare {
    background:
        radial-gradient(120% 80% at 90% -10%, rgba(79, 141, 240, 0.1), transparent 60%),
        linear-gradient(180deg, #0c2331, #081a26);
}
.profile-daily__card--epic {
    background:
        radial-gradient(120% 80% at 90% -10%, rgba(154, 91, 224, 0.12), transparent 60%),
        linear-gradient(180deg, #102038, #0a1a2c);
}

/* Reward row — always full-color chest, never greyed */
.profile-daily__reward {
    position: relative;
    flex: 0 0 auto;
    padding: 0.55rem 0.7rem;
    border-radius: 11px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
    border-color: rgba(120, 160, 190, 0.24);
}
.profile-daily__reward--common {
    border-color: rgba(199, 210, 218, 0.28);
    background: linear-gradient(90deg, rgba(199, 210, 218, 0.07), rgba(255, 255, 255, 0.02));
}
.profile-daily__reward--rare {
    border-color: rgba(111, 180, 255, 0.38);
    background: linear-gradient(90deg, rgba(79, 141, 240, 0.12), rgba(255, 255, 255, 0.02));
}
.profile-daily__reward--epic {
    border-color: rgba(200, 155, 255, 0.42);
    background: linear-gradient(90deg, rgba(154, 91, 224, 0.14), rgba(255, 255, 255, 0.02));
}

/* Claimed reward — green tint + check overlay */
.profile-daily__reward--claimed {
    border-color: rgba(47, 164, 92, 0.5);
    background: linear-gradient(90deg, rgba(47, 164, 92, 0.14), rgba(47, 164, 92, 0.04));
    box-shadow: inset 0 0 0 1px rgba(47, 164, 92, 0.2);
}
.profile-daily__reward-chest-check {
    position: absolute;
    right: -3px;
    bottom: -3px;
    width: 1.2rem;
    height: 1.2rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #57d98a, #2fa45c);
    color: #fff;
    font-size: 0.68rem;
    box-shadow: 0 0 0 2px #081a26, 0 2px 8px rgba(47, 164, 92, 0.65);
    animation: daily-claimed-pop 0.4s ease;
}
@keyframes daily-claimed-pop {
    0% { transform: scale(0.6); opacity: 0; }
    70% { transform: scale(1.12); }
    100% { transform: scale(1); opacity: 1; }
}

.profile-daily__reward-claimed {
    margin-left: auto;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #57d98a;
    background: rgba(47, 164, 92, 0.16);
    border: 1px solid rgba(47, 164, 92, 0.4);
}
.profile-daily__reward-claimed i {
    font-size: 0.75rem;
}

/* Done card — subtle green wash */
.profile-daily__card--done::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(47, 164, 92, 0.08), transparent 55%);
    pointer-events: none;
    z-index: 0;
}
.profile-daily__card--done > * {
    position: relative;
    z-index: 1;
}

/* Section header polish */
.profile-daily--liveops .profile-section__title {
    letter-spacing: 0.02em;
}
.profile-daily__timer {
    font-variant-numeric: tabular-nums;
    box-shadow: 0 0 18px -8px rgba(111, 214, 238, 0.55);
}

/* Stale quests — muted overlay */
.profile-daily__card--stale {
    opacity: 0.82;
    filter: saturate(0.85);
}
.profile-daily__card--stale::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 6px,
        rgba(255, 255, 255, 0.015) 6px,
        rgba(255, 255, 255, 0.015) 12px
    );
    pointer-events: none;
    z-index: 2;
}

/* Hover lift — only on active (incomplete) cards */
.profile-daily__card--active:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px -12px rgba(0, 0, 0, 0.55);
}
.profile-daily__card--done:hover {
    transform: none;
}

/* Mobile: slightly shorter min-height */
@media (max-width: 620px) {
    .profile-daily__card {
        min-height: 12.5rem;
    }
    .profile-daily__completed-pill {
        font-size: 0.6rem;
        padding: 0.15rem 0.4rem;
    }
    .profile-daily__reward-claimed span {
        display: none;
    }
}

/* Daily quests v3 — compact cards, single claimed state */
.profile-daily__grid {
    align-items: stretch;
    gap: 0.85rem;
}

.profile-daily__card {
    min-height: 10.75rem;
    padding: 0.8rem;
    gap: 0.58rem;
    justify-content: flex-start;
}

.profile-daily__card-main {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    flex: 0 0 auto;
}

.profile-daily__target {
    width: 4rem;
    height: 4rem;
    border-radius: 12px;
}

.profile-daily__target img {
    width: 3.15rem;
    height: 3.15rem;
}

.profile-daily__target i {
    font-size: 1.55rem;
}

.profile-daily__card-body {
    gap: 0.46rem;
    justify-content: center;
}

.profile-daily__card-title {
    min-height: 0;
    padding-right: 4.6rem;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.08;
}

.profile-daily__bar-wrap {
    margin-top: 0;
}

.profile-daily__bar {
    height: 1.75rem;
    border-radius: 999px;
}

.profile-daily__bar-text {
    font-size: 0.9rem;
}

.profile-daily__status {
    position: absolute;
    top: 0.72rem;
    right: 0.72rem;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.55rem;
    padding: 0.16rem 0.52rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.profile-daily__status--claimed {
    color: #7ee39c;
    border: 1px solid rgba(87, 217, 138, 0.42);
    background: rgba(47, 164, 92, 0.14);
    box-shadow: 0 0 12px -8px rgba(87, 217, 138, 0.7);
}

.profile-daily__completed-pill,
.profile-daily__reward-chest-check,
.profile-daily__reward-claimed {
    display: none !important;
}

.profile-daily__reward {
    margin-top: auto;
    min-height: 3.65rem;
    padding: 0.5rem 0.62rem;
    gap: 0.56rem;
    border-radius: 10px;
}

.profile-daily__reward-chest {
    width: 2.7rem;
    height: 2.7rem;
}

.profile-daily__reward-chest img {
    width: 2.35rem;
    height: 2.35rem;
}

.profile-daily__reward-label {
    font-size: 0.58rem;
    letter-spacing: 0.12em;
}

.profile-daily__reward-name {
    font-size: 0.9rem;
    line-height: 1.05;
}

.profile-daily__card--done {
    opacity: 0.94;
}

.profile-daily__card--done .profile-daily__reward--claimed {
    border-color: rgba(87, 217, 138, 0.34);
    background: linear-gradient(90deg, rgba(47, 164, 92, 0.1), rgba(255, 255, 255, 0.025));
}

.profile-daily__card--done .profile-daily__card-title {
    color: color-mix(in srgb, #ffffff 88%, #7ee39c);
}

@media (max-width: 620px) {
    .profile-daily__card-main {
        grid-template-columns: 3.4rem minmax(0, 1fr);
        gap: 0.62rem;
    }

    .profile-daily__target {
        width: 3.4rem;
        height: 3.4rem;
    }

    .profile-daily__target img {
        width: 2.72rem;
        height: 2.72rem;
    }

    .profile-daily__card-title {
        padding-right: 3.9rem;
    }

    .profile-daily__status span {
        display: none;
    }
}
