:root {
  color-scheme: dark;
  --bg: #0b0b12;
  --surface: #14141e;
  --surface-2: #1c1c28;
  --line: rgba(255,255,255,.09);
  --text: #f7f5fb;
  --muted: #9996a8;
  --accent: #9d65ff;
  --accent-2: #36d9ff;
  --success: #69d6a1;
  --safe-top: calc(max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)) + var(--tg-content-safe-area-inset-top, 0px));
  --safe-right: max(env(safe-area-inset-right, 0px), var(--tg-safe-area-inset-right, 0px), var(--tg-content-safe-area-inset-right, 0px));
  --safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px), var(--tg-content-safe-area-inset-bottom, 0px));
  --safe-left: max(env(safe-area-inset-left, 0px), var(--tg-safe-area-inset-left, 0px), var(--tg-content-safe-area-inset-left, 0px));
}

/* Premium promo codes */
.promo-redeem-block{display:grid;gap:13px;margin:24px 0 10px;padding:18px;border:1px solid rgba(147,112,224,.36);border-radius:17px;background:linear-gradient(135deg,rgba(118,71,198,.13),rgba(50,167,212,.08))}.promo-redeem-block h3,.promo-redeem-block p{margin:0}.promo-redeem-block small,.promo-success>small{color:#c9a8ff;font-weight:850;letter-spacing:.1em}.promo-redeem-block p{margin-top:6px;color:var(--muted);font-size:.8rem;line-height:1.5}.promo-redeem-block form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.promo-redeem-block input{min-width:0;text-transform:uppercase;letter-spacing:.05em;font-weight:750}.promo-redeem-block form>button{min-width:126px;background:linear-gradient(120deg,#7543ae,#376bc9);border-color:#a487cd;font-weight:800}.promo-redeem-block [data-promo-error]{grid-column:1/-1;margin:0;color:#ff9bad;font-size:.76rem}.promo-link-body{display:grid;gap:18px}.promo-link-body>.promo-redeem-block{margin:0}.promo-gift-icon{display:grid;place-items:center;width:82px;height:82px;border-radius:26px;background:linear-gradient(135deg,#9b58ef,#3bbce9);color:#fff;font-size:2.4rem;box-shadow:0 18px 46px rgba(92,92,238,.35)}.promo-success{display:grid;justify-items:center;gap:12px;padding:24px 12px;text-align:center}.promo-success-mark{display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:linear-gradient(135deg,#4be5b2,#38a9ed);color:#fff;font-size:2.8rem;box-shadow:0 0 0 10px rgba(69,214,186,.08),0 20px 52px rgba(51,184,218,.3)}.promo-success h2,.promo-success p{margin:0}.promo-success p{color:var(--muted)}.promo-success>strong{padding:10px 17px;border:1px solid rgba(255,218,119,.36);border-radius:999px;background:rgba(255,204,79,.1);color:#ffe087;font-size:1.08rem}.promo-success>span{color:#c9c0d8;font-size:.86rem}.promo-success .trial-activate{margin-top:9px}
.admin-promo-editor>p{color:var(--muted);line-height:1.55}.promo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.promo-form-grid label{display:grid;gap:7px;color:#c4b9d3;font-size:.76rem}.promo-form-grid input,.promo-form-grid select{width:100%}.admin-promo-editor form>button{margin-top:8px;background:linear-gradient(120deg,#7543ae,#3b74cc);font-weight:800}.promo-created{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:17px 0;padding:16px;border:1px solid rgba(71,222,169,.35);border-radius:15px;background:rgba(45,175,130,.09)}.promo-created>strong{grid-column:1/-1;color:#74e5ba}.promo-created code{align-self:center;min-width:0;overflow-wrap:anywhere;padding:9px 11px;border-radius:9px;background:#100d18;color:#f4eaff;white-space:normal;user-select:all;-webkit-user-select:all}.promo-created button{padding:9px 13px}.promo-admin-list{display:grid;gap:10px;margin-top:20px}.promo-admin-card{display:grid;gap:13px;padding:15px;border:1px solid #3b304f;border-radius:15px;background:#191621}.promo-admin-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.promo-admin-card header>strong{min-width:0;overflow-wrap:anywhere}.promo-admin-value{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.promo-admin-value code{min-width:0;overflow-wrap:anywhere;padding:9px 11px;border:1px solid rgba(173,132,238,.2);border-radius:9px;background:#100d18;color:#efe4ff;font-size:.76rem;line-height:1.45;white-space:normal;user-select:all;-webkit-user-select:all}.promo-admin-value button{padding:8px 11px}.promo-admin-card header>span{align-self:start;flex:none;padding:5px 8px;border-radius:999px;background:rgba(69,211,160,.1);color:#70deb5;font-size:.68rem;font-weight:800}.promo-admin-card.disabled header>span,.promo-admin-card.expired header>span,.promo-admin-card.exhausted header>span{background:rgba(255,105,130,.09);color:#ff9bad}.promo-admin-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.promo-admin-card dl>div{display:grid;gap:4px}.promo-admin-card dt{color:var(--muted);font-size:.66rem}.promo-admin-card dd{margin:0;font-size:.78rem;font-weight:750}.promo-admin-card>button{justify-self:start;background:transparent;color:#ff9bad;border-color:rgba(255,105,130,.25)}
@media(max-width:600px){.promo-redeem-block form{grid-template-columns:1fr}.promo-redeem-block [data-promo-error]{grid-column:auto}.promo-form-grid{grid-template-columns:1fr}.promo-created,.promo-admin-value{grid-template-columns:1fr}.promo-created>strong{grid-column:auto}.promo-admin-card dl{grid-template-columns:1fr 1fr}.community-tabs{overflow-x:auto;scrollbar-width:none}.community-tabs::-webkit-scrollbar{display:none}}

* { box-sizing: border-box; user-select: none; -webkit-user-select: none; }
input,textarea,[contenteditable="true"]{user-select:text;-webkit-user-select:text}
html { overflow-x:clip; background: var(--bg); }
/* Legal documents scroll at the viewport, not in an unbounded body scroller. */
html.legal-root { overflow-x: hidden; overflow-y: auto; overscroll-behavior: auto; }
html.legal-root body.legal-page { height: auto; min-height: 100vh; overflow: visible; overscroll-behavior: auto; touch-action: auto; }
html.legal-root .legal-document, html.legal-root .legal-document * { user-select: text; -webkit-user-select: text; }
body {
  margin: 0;
  min-width: 320px;
  min-height: var(--tg-viewport-stable-height, 100dvh);
  overflow-x:clip;
  overscroll-behavior-y: none;
  background:radial-gradient(circle at 82% -8%,rgba(124,77,255,.22),transparent 34rem),radial-gradient(circle at 8% 36%,rgba(54,217,255,.08),transparent 27rem),linear-gradient(155deg,#0a0912 0%,#0c0c18 48%,#090d17 100%);
  color: var(--text);
  font: 16px/1.45 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, input { font: inherit; }
button { color: inherit; cursor: pointer; }
.site-footer{margin:40px 0 24px;padding:24px 0;border-top:1px solid rgba(160,150,210,.18);display:grid;gap:14px;color:#a6a0b6;font-size:.8rem;line-height:1.6}.site-footer strong{color:#ddd5ed;letter-spacing:.03em}.site-footer nav,.legal-nav{display:flex;flex-wrap:wrap;gap:12px 22px}.site-footer a,.legal-document a,#ageGate a{color:#aabfff;text-underline-offset:4px}.site-footer small{max-width:780px}
.age-locked{overflow:hidden}.age-locked .app-shell{filter:blur(14px);pointer-events:none;user-select:none}
#ageGate{box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:30px;border:1px solid #665491;border-radius:24px;background:linear-gradient(145deg,#211933,#101725);color:#eeebf7;box-shadow:0 24px 100px #0009}
#ageGate::backdrop{background:rgba(8,8,17,.94);backdrop-filter:blur(16px)}#ageGate h2{margin:14px 0;font-size:1.65rem}#ageGate p{line-height:1.65;color:#cbc5db}#ageGate small{display:block;color:#a59bb7;line-height:1.55;margin-top:18px}.age-check{display:flex;align-items:center;gap:12px;margin:24px 0}.age-check input{width:21px;height:21px;accent-color:#9f76ff}.age-links{font-size:.82rem}#ageGate button{width:100%;min-height:46px;border-radius:13px}#ageExit{margin-top:10px;border:1px solid #554767;background:transparent}
.legal-page{overflow:auto}.legal-document{max-width:860px;margin:0 auto;padding:40px 22px 80px;line-height:1.75;color:#d4ccdf}.legal-back{display:block;margin-bottom:32px}.legal-document h1,.legal-document h2{color:#f3eeff}.legal-document section{scroll-margin-top:24px;margin-top:42px}.legal-document h3{margin:26px 0 8px;color:#cec0ed}.legal-notice{padding:18px;border:1px solid #665337;border-radius:14px;background:#2a211b;color:#e4cfaa}.legal-nav{padding:16px 0;border-bottom:1px solid #ffffff18}
button:disabled { opacity: .4; cursor: default; }
/* Independent scale preserves existing positioning transforms (e.g. the wordmark). */
:where(button, .mirror-link, .download-platform summary) {
  transition: scale 180ms cubic-bezier(.2,.8,.3,1), filter 140ms ease;
  -webkit-tap-highlight-color: transparent;
}
:where(button, .mirror-link, .download-platform summary):not(:disabled):not([aria-disabled="true"]):active {
  scale: .965;
  filter: brightness(1.1);
  transition-duration: 70ms;
}
:where(button, .mirror-link, .download-platform summary):focus-visible {
  outline: 2px solid #6adfff;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  :where(button, .mirror-link, .download-platform summary) { transition: none !important; }
  :where(button, .mirror-link, .download-platform summary):active { scale: none !important; }
}

.splash { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left); overflow: hidden; background:radial-gradient(circle at 50% 48%,#14152b 0,#0b111b 30%,#09090f 66%); transition: opacity .65s ease, visibility 0s linear .65s; }
.splash-glow { position: absolute; width: min(74vw, 560px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(125,74,255,.23), rgba(54,217,255,.13) 42%, transparent 70%); filter: blur(12px); animation: splash-breathe 1.8s ease-in-out infinite alternate; }
.splash-content{position:relative;display:grid;place-items:center;width:min(82vw,360px);padding:28px;overflow:visible}.splash-icon{width:68px;height:68px;margin-bottom:18px;border-radius:21px;box-shadow:0 16px 45px rgba(75,104,255,.34)}.splash-brand { position: relative; display: flex; align-items: baseline; justify-content:center; width:max-content; max-width:100%; padding: 0; box-sizing:border-box; overflow: visible; white-space: nowrap; font-size: clamp(2.15rem, 9vw, 3.6rem); font-weight: 900; letter-spacing: -.065em; text-shadow: 0 16px 50px rgba(0,0,0,.55); }
.splash-brand span { color: #fff; }
.splash-brand .splash-age { position:static; align-self:center; flex-shrink:0; margin-left:14px; transform:none; }
.splash-brand strong { margin-left: .08em; background: linear-gradient(120deg, #b792ff 5%, #7c4dff 48%, #42dcff); background-clip: text; -webkit-background-clip: text; color: transparent; }
.splash-content>p{margin:12px 0 0;color:#9e9aac;font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.splash-dots{display:flex;gap:6px;margin-top:16px}.splash-dots i{width:6px;height:6px;border-radius:50%;background:#7556ff;animation:dot-pulse .9s ease-in-out infinite alternate}.splash-dots i:nth-child(2){background:#8b71ff;animation-delay:.18s}.splash-dots i:nth-child(3){background:#3bd6ff;animation-delay:.36s}@keyframes dot-pulse{to{transform:translateY(-4px);filter:brightness(1.45)}}
.is-loading { overflow: hidden; }
.is-loading .app-shell { visibility: hidden; opacity: 0; }
.is-ready .splash { visibility: hidden; opacity: 0; pointer-events: none; }
.app-shell { transition: opacity .3s ease; }

.app-shell { width: min(100%, 760px); min-height: var(--tg-viewport-stable-height, 100dvh); margin: 0 auto; padding: calc(18px + var(--safe-top)) calc(16px + var(--safe-right)) calc(96px + var(--safe-bottom)) calc(16px + var(--safe-left)); }
.topbar, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.topbar { position:relative;min-height:58px;margin-bottom:20px; }
.brand-icon-home{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(93,204,255,.32);border-radius:16px;background:linear-gradient(145deg,rgba(124,77,255,.2),rgba(54,217,255,.1));box-shadow:0 12px 30px rgba(44,90,220,.18);text-decoration:none}.brand-icon-home img{width:38px;height:38px;border-radius:12px}.brand-icon-home:hover{border-color:#5bddff;filter:brightness(1.12)}
.brand-home{display:block;padding:0;border:0;background:none;color:var(--text);text-align:left;text-decoration:none;cursor:pointer;border-radius:12px}.brand-home:hover h1,.brand-home:focus-visible h1{color:#dff9ff}.brand-home:focus-visible{outline:2px solid #58dcff;outline-offset:7px}.brand-home h1{transition:color .18s ease}
.brand-home{position:absolute;left:50%;transform:translateX(-50%)}.brand-home .main-wordmark{margin:0;background:linear-gradient(105deg,#fff 3%,#c8a7ff 25%,#765aff 48%,#49dcff 68%,#fff 88%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;font-size:clamp(1.25rem,3.8vw,1.9rem);font-weight:1000;letter-spacing:.08em;text-shadow:0 8px 28px rgba(101,101,255,.2);animation:wordmark-flow 5.5s ease-in-out infinite}.brand-home:hover .main-wordmark{filter:brightness(1.18)}@keyframes wordmark-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.brand-name{display:block;width:max-content;background:linear-gradient(110deg,#bca5ff,#765aff 48%,#47dcff);background-clip:text;-webkit-background-clip:text;color:transparent;font-size:1.12rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 24px rgba(86,169,255,.15)}
.header-hero{--hero-x:0px;--hero-y:0px;display:none;position:absolute;top:calc(9px + var(--safe-top));left:50%;width:410px;height:94px;padding:0;overflow:hidden;transform:translate3d(calc(-50% + var(--hero-x)),var(--hero-y),0);border:1px solid rgba(144,113,255,.2);border-radius:0 0 24px 24px;background:linear-gradient(90deg,rgba(21,12,36,.45),rgba(8,9,18,.12),rgba(4,22,35,.45)),url("./assets/tellyplay-vermeil-header.jpg") center 48%/cover no-repeat;box-shadow:0 16px 42px rgba(0,0,0,.32),inset 0 -1px rgba(80,216,255,.12);transition:transform .16s ease-out,border-color .18s ease,filter .18s ease;will-change:transform}.header-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 26%,rgba(5,6,14,.56) 43%,rgba(5,6,14,.56) 57%,transparent 74%)}.header-hero>span{position:relative;z-index:1;display:inline-flex;align-items:baseline;font-size:1.48rem;font-weight:950;letter-spacing:-.06em;text-shadow:0 4px 18px #05050b}.header-hero b{color:#fff}.header-hero strong{margin-left:.07em;background:linear-gradient(120deg,#bd9cff,#765aff 48%,#45dcff);background-clip:text;-webkit-background-clip:text;color:transparent}.header-hero small{position:absolute;top:-7px;right:-27px;color:#75e6ff;font-size:.48rem;letter-spacing:0}.header-hero:hover{border-color:rgba(91,218,255,.38);filter:brightness(1.08)}
.topbar-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.tags-button{min-height:40px;padding:0 13px;border:1px solid rgba(111,190,255,.45);border-radius:13px;background:linear-gradient(135deg,rgba(130,76,238,.22),rgba(54,217,255,.15));color:#dcf8ff;font-size:.8rem;font-weight:850;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.language-picker{position:relative}.language-trigger{display:flex;align-items:center;gap:6px;height:40px;padding:0 10px;border:1px solid rgba(91,218,255,.32);border-radius:12px;background:linear-gradient(135deg,rgba(124,77,255,.2),rgba(54,217,255,.1));box-shadow:inset 0 1px rgba(255,255,255,.07);font-size:.75rem}.language-trigger span{font-size:1rem}.language-trigger b{font-weight:950}.language-trigger i{color:#8d8a9b;font-style:normal;transition:transform .18s ease}.language-trigger[aria-expanded=true] i{transform:rotate(180deg)}.language-menu{position:absolute;z-index:45;top:47px;right:0;width:190px;padding:6px;border:1px solid rgba(136,104,211,.32);border-radius:16px;background:rgba(17,16,27,.96);box-shadow:0 22px 55px rgba(0,0,0,.55);backdrop-filter:blur(22px);animation:menu-in .16s ease-out}.language-menu button{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 10px;border:0;border-radius:11px;background:transparent;text-align:left}.language-menu button:hover,.language-menu button.active{background:linear-gradient(135deg,rgba(124,77,255,.25),rgba(54,217,255,.1))}.language-menu span{font-size:1.1rem}.language-menu b{font-size:.8rem}.language-menu small{color:#777486;font-size:.64rem;font-weight:900}.nav-item i{font:inherit;font-style:normal}.language-transition{position:fixed;z-index:120;inset:0;display:grid;place-items:center;background:rgba(6,6,13,.82);backdrop-filter:blur(13px);animation:language-fade-in .22s ease-out}.language-transition>div{display:grid;place-items:center;gap:9px}.transition-logo{display:flex;align-items:baseline;font-size:2rem;font-weight:950;letter-spacing:-.07em}.transition-logo b{color:#fff}.transition-logo strong{margin-left:.08em;background:linear-gradient(120deg,#bd9cff,#765aff 48%,#45dcff);background-clip:text;-webkit-background-clip:text;color:transparent}.language-transition small{color:#c8c2d5;font-weight:800}.language-transition i{display:block;width:90px;height:2px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.language-transition i:after{content:"";display:block;width:45%;height:100%;background:linear-gradient(90deg,#8c5cff,#49ddff);animation:language-load .65s ease-in-out infinite alternate}@keyframes menu-in{from{opacity:0;transform:translateY(-5px) scale(.97)}}@keyframes language-fade-in{from{opacity:0}}@keyframes language-load{from{transform:translateX(-10%)}to{transform:translateX(120%)}}
.flag{position:relative;display:inline-block!important;flex:none;width:18px!important;height:13px;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:3px;box-shadow:0 2px 7px rgba(0,0,0,.25)}.flag-ru{background:linear-gradient(#fff 0 33.33%,#3e78db 33.33% 66.66%,#e05260 66.66%)}.flag-uk{background:linear-gradient(#45a4ed 0 50%,#ffd84d 50%)}.flag-en{background:linear-gradient(33deg,transparent 41%,#fff 42% 47%,#d32f46 48% 52%,#fff 53% 58%,transparent 59%),linear-gradient(-33deg,transparent 41%,#fff 42% 47%,#d32f46 48% 52%,#fff 53% 58%,transparent 59%),#244d9d}.flag-en:before,.flag-en:after{content:"";position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%)}.flag-en:before{width:100%;height:5px;box-shadow:inset 0 0 0 1.5px #d32f46}.flag-en:after{width:5px;height:100%;box-shadow:inset 0 0 0 1.5px #d32f46}
h1, h2, h3, p { margin: 0; }
h1 { margin-top: 2px; font-size: clamp(1.65rem, 7vw, 2.3rem); line-height: 1.12; letter-spacing: -.04em; }
h2 { margin-top: 2px; font-size: 1.3rem; letter-spacing: -.025em; }
.eyebrow { color: #b694ff; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.avatar { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); font-weight: 900; box-shadow: 0 10px 30px rgba(157,101,255,.22); }

.search { display: grid; grid-template-columns: 24px 1fr 30px; align-items: center; min-height: 54px; padding: 0 12px 0 16px; border: 1px solid var(--line); border-radius: 18px; background: rgba(22,22,32,.9); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.search > span { color: #b694ff; font-size: 1.5rem; transform: rotate(-15deg); }
.search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 1rem; }
.search input::placeholder { color: #777483; }
.search button { border: 0; background: transparent; color: var(--muted); font-size: 1.45rem; }

.platforms { display: flex; gap: 8px; margin: 14px -16px 28px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
.platforms::-webkit-scrollbar { display: none; }
.catalog-tabs{display:flex;gap:8px;margin:-12px 0 28px;overflow-x:auto;scrollbar-width:none}.catalog-tabs::-webkit-scrollbar{display:none}.catalog-tabs button{flex:none;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035);color:#9692a5;font-size:.78rem;font-weight:820}.catalog-tabs button.active{border-color:rgba(80,210,255,.42);background:linear-gradient(135deg,rgba(124,77,255,.28),rgba(54,217,255,.13));color:#fff;box-shadow:0 9px 28px rgba(73,92,255,.14)}#sortButton{display:none}
.chip { display:flex;align-items:center;gap:7px;flex: none; min-height: 40px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: #bbb8c7; font-size: .88rem; font-weight: 700; }.platform-symbol{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(118,151,255,.26);border-radius:8px;background:linear-gradient(135deg,rgba(124,77,255,.3),rgba(54,217,255,.14));color:#ddecff;box-shadow:inset 0 1px rgba(255,255,255,.08)}.platform-symbol svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.platform-symbol svg.platform-solid{fill:currentColor;stroke:none}.chip.active .platform-symbol{color:#fff;background:linear-gradient(135deg,#704cff,#27b9df);border-color:rgba(159,220,255,.6);box-shadow:0 0 14px rgba(76,133,255,.25)}
.chip.active { border-color: rgba(157,101,255,.75); background: rgba(157,101,255,.18); color: #fff; box-shadow: inset 0 0 0 1px rgba(157,101,255,.12); }
.section-heading { margin-bottom: 14px; }
.text-button { padding: 8px 0; border: 0; background: none; color: #b694ff; font-size: .78rem; font-weight: 700; }

.game-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pagination{display:flex;align-items:center;justify-content:center;gap:7px;margin:26px 0 10px}.pagination button{min-width:40px;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:#bbb7c8;font-weight:850}.pagination button.active{border-color:rgba(77,220,255,.5);background:linear-gradient(135deg,rgba(124,77,255,.32),rgba(54,217,255,.18));color:#fff;box-shadow:0 8px 24px rgba(84,112,255,.18)}.pagination button:disabled{opacity:.32;cursor:default}.pagination span{color:var(--muted)}
.game-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid rgba(183,134,255,.2); border-radius: 20px; background:linear-gradient(155deg,rgba(35,29,52,.97),rgba(18,18,28,.98) 52%); box-shadow: 0 18px 46px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.045); transition:transform .18s ease,border-color .18s ease; }.game-card:hover{transform:translateY(-2px);border-color:rgba(210,153,255,.4)}
.popular-section{margin-top:44px;padding:22px 0 8px;border-top:1px solid rgba(129,102,255,.22)}.popular-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:15px}.popular-heading h2{margin-top:3px}.popular-heading button{padding:8px 0;border:0;background:none;color:#68dcff;font-size:.78rem;font-weight:850}.popular-grid{display:grid;grid-auto-columns:min(67vw,245px);grid-auto-flow:column;gap:13px;margin-inline:-16px;padding:2px 16px 16px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.popular-grid::-webkit-scrollbar{display:none}.popular-card{scroll-snap-align:start;box-shadow:0 18px 48px rgba(57,42,145,.22)}.popular-card .cover-button{aspect-ratio:4/5}
.new-releases{margin:18px 0 24px;padding:15px 0;border-block:1px solid rgba(104,204,255,.14)}.new-releases>header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px}.new-releases h2{margin-top:2px;font-size:1.08rem}.new-releases>header button{padding:7px 0;border:0;background:none;color:#70e6d0;font-size:.74rem;font-weight:850}.new-releases-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(70vw,255px);gap:10px;margin-inline:-16px;padding:2px 16px 8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.new-releases-track::-webkit-scrollbar{display:none}.release-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:8px;border:1px solid rgba(146,112,207,.28);border-radius:15px;background:linear-gradient(135deg,rgba(36,29,54,.96),rgba(16,27,36,.96));color:#f5f1fb;text-decoration:none;scroll-snap-align:start}.release-card:hover{border-color:rgba(80,220,255,.48)}.release-card img{width:54px;height:56px;border-radius:10px;object-fit:cover}.release-card span{min-width:0}.release-card strong,.release-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-card strong{font-size:.78rem}.release-card small{margin-top:4px;color:#aaa5ba;font-size:.66rem}.release-card i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(56,219,176,.1);color:#66e8c7;font-style:normal}.genre-discovery{margin:38px 0 12px;padding:24px;border:1px solid rgba(100,219,255,.19);border-radius:24px;background:linear-gradient(145deg,rgba(25,24,39,.95),rgba(15,15,25,.96));box-shadow:0 22px 54px rgba(0,0,0,.24)}
.genre-discovery>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.genre-discovery h2{display:flex;align-items:center;gap:10px;font-size:1.15rem}.genre-discovery h2 span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(91,224,255,.36);border-radius:11px;background:linear-gradient(135deg,rgba(124,77,255,.2),rgba(54,217,255,.12));color:#85eaff}.genre-discovery>header button{padding:8px 0;border:0;background:none;color:#72e5ce;font-size:.76rem;font-weight:850}
.genre-discovery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.genre-discovery-grid button{display:grid;grid-template-columns:minmax(0,1fr) 6.5rem 12px;align-items:center;gap:10px;min-width:0;min-height:55px;padding:12px 14px;border:1px solid rgba(164,132,211,.3);border-radius:14px;background:linear-gradient(135deg,rgba(28,27,43,.96),rgba(21,21,32,.96));color:#eeeaf7;text-align:left;font-size:.78rem;font-weight:820;transition:transform .16s ease,border-color .16s ease,background .16s ease}.genre-discovery-grid button:hover{transform:translateY(-1px);border-color:rgba(79,221,255,.5);background:linear-gradient(135deg,rgba(74,48,112,.35),rgba(24,59,69,.28))}.genre-discovery-grid button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.genre-discovery-grid button small{color:#6ee8d2;font-size:.86rem;line-height:1.2;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.genre-discovery-grid button i{flex:none;color:#807b93;font-style:normal;font-size:1rem}
.cover-button { position: relative; width: 100%; padding: 0; border: 0; background: #1d1b2a; text-align: left; }
.cover-button img { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.cover-button::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(8,7,13,.92)); }
.version { position: absolute; z-index: 1; top: 10px; right: 10px; max-width: calc(100% - 20px); padding: 5px 8px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; background: rgba(9,8,14,.72); backdrop-filter: blur(10px); color: #fff; font-size: .69rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.apk-badge{position:absolute;z-index:2;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;height:25px;padding:0 9px 0 6px;border:1px solid rgba(115,255,207,.58);border-radius:9px;background:linear-gradient(135deg,rgba(22,210,139,.94),rgba(33,190,177,.92));box-shadow:0 7px 20px rgba(22,210,139,.28),inset 0 1px rgba(255,255,255,.28);color:#061710;font-size:.67rem;font-weight:950;letter-spacing:.035em;backdrop-filter:blur(8px)}.apk-badge svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.apk-badge b{font:inherit}
.cover-button.has-apk .version{max-width:calc(100% - 88px)}
.cover-button.has-apk.has-rating .apk-badge{top:43px}
@media(max-width:850px){.genre-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.genre-discovery{padding:18px}}
@media(max-width:430px){.genre-discovery{margin-inline:-4px;padding:15px 12px;border-radius:19px}.genre-discovery-grid{gap:8px}.genre-discovery-grid button{grid-template-columns:minmax(0,1fr) 12px;min-height:51px;padding:10px;font-size:.72rem}.genre-discovery-grid button small{display:none}.new-releases-track{grid-auto-columns:min(78vw,245px)}}
.updated { position: absolute; z-index: 1; bottom: 10px; left: 10px; color: #d7d3e2; font-size: .68rem; }
.age-badge{display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,#7c4dff,#25cfff);color:#fff;font-weight:950;letter-spacing:.02em;box-shadow:0 8px 24px rgba(54,190,255,.34)}.card-age{position:absolute;z-index:2;right:10px;bottom:10px;min-width:31px;height:23px;border-radius:8px;font-size:.64rem}.splash-age{position:absolute;top:-34px;right:0;min-width:39px;height:27px;border-radius:10px;font-size:.72rem;letter-spacing:0;transform:rotate(3deg)}
.game-skeleton{min-height:390px;pointer-events:none}.game-skeleton>i{display:block;width:100%;aspect-ratio:3/4;background:linear-gradient(100deg,#191824 20%,#262239 38%,#191824 56%);background-size:220% 100%;animation:skeleton-shimmer 1.15s ease-in-out infinite}.game-skeleton>div{display:grid;gap:10px;padding:13px}.game-skeleton b,.game-skeleton span,.game-skeleton small{display:block;height:13px;border-radius:7px;background:linear-gradient(100deg,#211f2d 20%,#302a43 38%,#211f2d 56%);background-size:220% 100%;animation:skeleton-shimmer 1.15s ease-in-out infinite}.game-skeleton span{width:68%}.game-skeleton small{width:38%;height:9px}@keyframes skeleton-shimmer{to{background-position-x:-220%}}
.game-info { padding: 12px; }
.game-title{display:block;width:100%;min-height:42px;padding:0;border:0;border-radius:8px;background:none;text-align:left}.game-info h3{min-height:42px;overflow:hidden;font-size:.95rem;line-height:1.3;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color .16s ease,text-shadow .16s ease}.game-title:hover h3,.game-title:focus-visible h3{color:#aeefff;text-shadow:0 0 16px rgba(97,210,255,.38)}.game-title:focus-visible{outline:1px solid rgba(92,218,255,.48);outline-offset:4px}.game-title:active h3{color:#c6aaff}
.developer { margin-top: 5px; overflow: hidden; color: var(--muted); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.card-footer { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 10px; }
.os-list { display: flex; gap: 5px; }
.os { display: grid; place-items: center; width: 25px; height: 25px; border:1px solid rgba(124,136,201,.14); border-radius: 8px; background:linear-gradient(145deg,rgba(42,39,61,.96),rgba(23,23,37,.96)); color:#dce5ff; box-shadow:inset 0 1px rgba(255,255,255,.05); }
.os svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.os svg.platform-solid{fill:currentColor;stroke:none}
.card-actions{display:flex;gap:6px}.follow,.favorite{width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);font-size:1rem}.favorite{color:#aaa5b8}.favorite:hover,.favorite.active{border-color:rgba(255,207,75,.5);background:rgba(255,193,38,.12);color:#ffd44d;text-shadow:0 0 13px rgba(255,202,44,.52)}
.follow.active { border-color: rgba(105,214,161,.45); background: rgba(105,214,161,.13); color: var(--success); }

.bottom-nav { position: fixed; z-index: 20; right: calc(10px + var(--safe-right)); bottom: calc(10px + var(--safe-bottom)); left: calc(10px + var(--safe-left)); display: grid; grid-template-columns: repeat(5, 1fr); max-width: 720px; min-height: 66px; margin: auto; padding: 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(19,19,28,.9); box-shadow: 0 20px 50px rgba(0,0,0,.55); backdrop-filter: blur(20px); }
.nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border: 0; border-radius: 16px; background: transparent; color: #777483; font-size: .67rem; font-weight: 700; }
.nav-item span { font-size: 1.15rem; }
.nav-item.active { background: rgba(157,101,255,.14); color: #cbb6ff; }

.empty-state { padding: 64px 20px; text-align: center; color: var(--muted); }
.empty-state div { font-size: 2.5rem; }
.empty-state h2 { margin: 10px 0 5px; color: var(--text); }
.profile-card { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(145deg, rgba(157,101,255,.12), var(--surface) 45%); }
.profile-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); font-size: 1.15rem; font-weight: 900; box-shadow: 0 12px 30px rgba(157,101,255,.25); }
.profile-card h3 { margin-top: 3px; font-size: 1.2rem; }
.profile-card dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 2px 0 0; }
.profile-card dl div { padding: 13px; border-radius: 15px; background: rgba(255,255,255,.045); }
.profile-card dt { color: var(--muted); font-size: .75rem; }
.profile-card dd { margin: 2px 0 0; font-size: 1.25rem; font-weight: 850; }
.profile-card > p { grid-column: 1 / -1; color: var(--muted); font-size: .9rem; }
.telegram-connection{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}.telegram-connection.connected{border-color:rgba(54,217,255,.25);background:linear-gradient(135deg,rgba(124,77,255,.1),rgba(54,217,255,.07))}.telegram-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#7654ff,#36d9ff);color:#fff;font-weight:950}.telegram-connection div{display:grid;gap:2px}.telegram-connection small{color:var(--muted)}.telegram-connection>b{color:#55e3c0;font-size:1.15rem}.telegram-connection button{min-height:36px;padding:0 13px;border:1px solid rgba(54,217,255,.3);border-radius:11px;background:rgba(54,217,255,.1);color:#a9efff;font-weight:850}
.sheet-backdrop { position: fixed; z-index: 30; inset: 0; background: rgba(0,0,0,.62); backdrop-filter: blur(5px); }
.game-sheet { position: fixed; z-index: 31; right: 0; bottom: 0; left: 0; max-width: 760px; max-height: min(92dvh, var(--tg-viewport-stable-height, 92dvh)); margin: auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-width:none; border: 1px solid var(--line); border-radius: 28px 28px 0 0; background: #11111a; box-shadow: 0 -30px 80px rgba(0,0,0,.55); animation: slide-up .22s ease-out; }
.game-sheet::-webkit-scrollbar{display:none}
.sheet-close { position: sticky; z-index: 12; top: calc(12px + var(--safe-top)); display:block; width: 40px; height: 40px; margin:12px 12px -52px auto; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(10,9,15,.82); backdrop-filter: blur(12px); font-size: 1.4rem; box-shadow:0 10px 28px rgba(0,0,0,.42); }
.tag-more{cursor:pointer;border-color:rgba(73,216,255,.35)!important;background:linear-gradient(135deg,rgba(124,77,255,.28),rgba(54,217,255,.15))!important;color:#dffaff!important;font-weight:850}
.sheet-hero { position: relative; }
.sheet-hero img { width: 100%; max-height: 43vh; object-fit: cover; }
.sheet-hero::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, #11111a); }
.sheet-body { position: relative; z-index: 1; margin-top: -72px; padding: 0 18px calc(22px + var(--safe-bottom)); }
.sheet-body h2 { max-width: calc(100% - 36px); font-size: 1.75rem; line-height: 1.1; }
.meta { margin: 8px 0 16px; color: #b8b4c3; font-size: .82rem; }
.description{color:#cecad5;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;cursor:text}.description::selection{background:#7851c9;color:#fff}.description-tools{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 14px}.description-tools a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid rgba(116,205,255,.24);border-radius:10px;background:rgba(83,109,181,.09);color:#a9dff2;font-size:.72rem;font-weight:800;text-decoration:none}.description-tools a:hover{border-color:rgba(116,220,255,.55);color:#fff}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 5px;font-weight:800}.gallery-tools{display:flex;align-items:center;gap:6px}.gallery-tools small{min-width:42px;text-align:center}.gallery-tools button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(109,200,255,.25);border-radius:10px;background:linear-gradient(135deg,rgba(124,77,255,.18),rgba(54,217,255,.08));color:#ddd8e8;font-size:1.25rem}.gallery-tools button:hover{border-color:rgba(89,218,255,.52);color:#fff}.gallery-hint{display:block;margin-bottom:9px;color:var(--muted);font-size:.7rem}
.gallery-heading small { color: var(--muted); font-size: .7rem; font-weight: 650; }
.screenshot-row { display: grid; grid-auto-columns: min(78vw, 390px); grid-auto-flow: column; gap: 10px; margin: 0 -18px; padding: 0 18px 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.screenshot-row::-webkit-scrollbar { display: none; }
.screenshot { position: relative; min-height: 190px; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--surface-2); scroll-snap-align: start; }
.screenshot::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(101,75,151,.16) 8%,rgba(64,190,205,.18) 24%,rgba(101,75,151,.16) 42%);background-size:220% 100%;animation:screenshot-warmup 1.8s ease-in-out infinite}.screenshot img{position:relative;z-index:1}.screenshot>span{z-index:2}@keyframes screenshot-warmup{to{background-position:-220% 0}}
.screenshot img { display: block; width: 100%; height: 100%; max-height: 280px; object-fit: cover; transition: filter .28s ease, transform .28s ease; }
.screenshot.blurred img { filter: blur(22px) brightness(.48); transform: scale(1.09); }
.screenshot > span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-weight: 850; text-shadow: 0 2px 15px #000; }
.tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 20px; }
.tag { padding: 6px 9px; border-radius: 9px; background: var(--surface-2); color: #aaa6b7; font-size: .72rem; font-weight: 700; }
.primary-action { width: 100%; min-height: 52px; border: 0; border-radius: 17px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; font-weight: 850; box-shadow: 0 15px 35px rgba(88,104,255,.28); }
.detail-actions{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:9px}.detail-favorite{min-height:52px;padding:0 12px;border:1px solid rgba(255,207,75,.24);border-radius:17px;background:rgba(255,193,38,.07);color:#d7c88f;font-weight:850}.detail-favorite.active{border-color:rgba(255,211,75,.52);background:linear-gradient(135deg,rgba(255,193,38,.2),rgba(124,77,255,.12));color:#ffe16e;box-shadow:0 12px 32px rgba(255,190,44,.1)}.share-game{grid-column:1/-1;min-height:44px;border:1px solid rgba(83,214,255,.28);border-radius:14px;background:linear-gradient(135deg,rgba(124,77,255,.14),rgba(54,217,255,.1));color:#bdefff;font-weight:850}
.download-label { margin: 22px 0 10px; font-size: .78rem; color: var(--muted); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.download-guide{margin:0 0 10px;overflow:hidden;border:1px solid rgba(113,89,210,.42);border-radius:17px;background:linear-gradient(145deg,rgba(124,77,255,.1),rgba(54,217,255,.035))}.download-guide summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:10px 14px;cursor:pointer;list-style:none}.download-guide summary::-webkit-details-marker{display:none}.download-guide summary>span{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:10px}.download-guide summary i{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(91,213,255,.32);border-radius:11px;background:linear-gradient(135deg,rgba(124,77,255,.34),rgba(54,217,255,.15));color:#d9f8ff;font-style:normal;font-weight:950}.download-guide summary b{font-size:.92rem}.download-guide summary small{color:var(--muted);font-size:.72rem}.download-guide summary>em{color:#bca7ff;font-style:normal;transition:transform .18s ease}.download-guide[open] summary>em{transform:rotate(180deg)}.download-guide ol{display:grid;gap:10px;margin:0;padding:2px 14px 13px;list-style:none}.download-guide li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start}.download-guide li>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(124,77,255,.2);color:#d7c8ff;font-size:.78rem}.download-guide li span{display:grid;gap:2px}.download-guide li strong{font-size:.82rem}.download-guide li small{color:#aaa7b8;font-size:.74rem;line-height:1.45}.download-guide>p{margin:0;padding:10px 14px;border-top:1px solid rgba(255,255,255,.07);background:rgba(5,5,10,.18);color:#9edff0;font-size:.72rem;line-height:1.45}
.download-platforms{display:grid;gap:10px}.download-platform{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}.download-platform[open]{border-color:rgba(139,102,255,.38);background:linear-gradient(145deg,rgba(124,77,255,.1),rgba(54,217,255,.035))}.download-platform summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;min-height:58px;padding:10px 14px;cursor:pointer;list-style:none}.download-platform summary::-webkit-details-marker{display:none}.download-platform summary>span{display:flex;align-items:center;gap:10px}.download-platform summary i{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(112,172,255,.3);border-radius:9px;background:rgba(92,105,230,.16);font-style:normal;font-size:.7rem;font-weight:950}.download-platform summary small{color:var(--muted);font-size:.7rem}.download-platform summary em{color:#bca7ff;font-style:normal;transition:transform .18s ease}.download-platform[open] summary em{transform:rotate(180deg)}.mirror-list{display:grid;gap:7px;padding:0 10px 10px}.mirror-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;gap:9px;min-height:46px;padding:8px 11px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(8,8,14,.55);color:var(--text);text-decoration:none}.mirror-link span{font-weight:800;text-transform:capitalize}.mirror-link small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.mirror-link b{color:#58dfff}.missing-mirror,.downloads-empty{min-height:44px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025);color:var(--muted);text-align:center}.downloads-empty{display:grid;place-items:center;padding:12px}
.toast { position: fixed; z-index: 40; right: 18px; bottom: calc(94px + var(--safe-bottom)); left: 18px; max-width: 520px; margin: auto; padding: 14px 18px; border: 1px solid rgba(141,235,187,.58); border-radius: 16px; background: linear-gradient(180deg,rgba(35,91,68,.98),rgba(17,55,42,.98)); color: #e0ffef; text-align: center; font-weight: 750; letter-spacing:.01em; box-shadow: inset 0 1px 0 rgba(255,255,255,.16),inset 0 -2px 0 rgba(0,0,0,.18),0 5px 0 rgba(6,30,22,.72),0 18px 48px rgba(0,0,0,.48),0 0 25px rgba(72,204,139,.13); text-shadow:0 1px 2px rgba(0,0,0,.45); animation:toast-rise .18s ease-out; }
.toast.is-leaving{opacity:0;transform:translateY(7px) scale(.985);transition:opacity .32s ease,transform .32s ease}
@keyframes toast-rise{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.detail-loading { display: grid; min-height: 54dvh; place-items: center; align-content: center; gap: 14px; color: var(--muted); }
.detail-loading i { width: 36px; height: 36px; border: 3px solid rgba(255,255,255,.12); border-top-color: var(--accent); border-radius: 50%; animation: spin .75s linear infinite; }
[hidden] { display: none !important; }
@keyframes slide-up { from { transform: translateY(40px); opacity: 0; } }
@keyframes splash-load { from { transform: translateX(-110%); } to { transform: translateX(215%); } }
@keyframes splash-breathe { from { transform: scale(.9); opacity: .68; } to { transform: scale(1.08); opacity: 1; } }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 380px) {
  .app-shell { padding-inline: 12px; }
  .platforms { margin-inline: -12px; padding-inline: 12px; }
  .game-grid { gap: 9px; }
  .game-card { border-radius: 17px; }
  .game-info { padding: 10px; }
  .game-info h3 { font-size: .88rem; }
  .version { top: 7px; right: 7px; max-width: calc(100% - 14px); }
  .updated { bottom: 7px; left: 7px; }
  .bottom-nav { right: calc(6px + var(--safe-right)); bottom: calc(6px + var(--safe-bottom)); left: calc(6px + var(--safe-left)); }
}
@media (max-width:520px){.topbar{min-height:108px;padding-bottom:50px}.topbar-actions{position:absolute;right:0;bottom:0}.brand-home{top:13px}.brand-icon-home{position:absolute;top:5px;left:0}.popular-grid{margin-inline:-12px;padding-inline:12px}}
@media (min-width: 640px) { .game-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } .app-shell { padding-right:calc(22px + var(--safe-right));padding-left:calc(22px + var(--safe-left)); } .platforms { margin-inline: -22px; padding-inline: 22px; } }
@media (min-width: 960px) {
  .app-shell { width: min(100%, 1180px); padding-right:calc(30px + var(--safe-right));padding-left:calc(30px + var(--safe-left)); }
  .topbar { min-height:76px; }
  .header-hero { display:block; }
  .game-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
  .platforms { margin-inline: -30px; padding-inline: 30px; }
  .bottom-nav { max-width: 920px; }
  .game-sheet { top: 24px; right: 50%; bottom: 24px; left: auto; width: min(760px, calc(100vw - 48px)); max-width: none; max-height: none; margin: 0; border-radius: 28px; transform: translateX(50%); }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; scroll-behavior: auto !important; } }
@media (pointer: coarse) { button, a { -webkit-tap-highlight-color: transparent; } .chip { min-height: 44px; } }

.bottom-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tag-summary,.trending-tags>p{margin:0;color:var(--muted);font-size:.85rem}
.trending-tags{padding:18px;border:1px solid rgba(145,100,255,.3);border-radius:20px;background:linear-gradient(120deg,rgba(126,70,230,.13),rgba(30,180,230,.06));display:grid;gap:12px}
.trending-tags h3,.tag-letter-group h3{margin:0 0 10px;font-size:1.05rem}
.tag-letter-group{padding-top:12px}.tag-letter-group h3{color:#bb9bff}.tag-letter-group h3 small{font-size:.75rem;color:var(--muted);margin-left:8px}
@media(max-width:520px){.trending-tags{padding:12px}.trending-tags .tags-cloud{grid-template-columns:1fr}}

.site-footer .footer-age{padding:12px;border:1px solid rgba(255,190,90,.18);border-radius:12px;color:#eccb91;text-align:center}
.footer-columns{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:20px;text-align:left}
.footer-columns nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-columns [data-footer-genres]{display:contents}.footer-columns strong{color:var(--text);margin-bottom:6px}.footer-brand{font-size:1.5rem;letter-spacing:.02em}.footer-columns p{line-height:1.7}.footer-columns button{padding:0;border:0;background:none;font:inherit;color:var(--muted);text-align:left;cursor:pointer}.footer-columns button:hover,.footer-columns a:hover{color:#81dfff}.footer-columns button:focus-visible{outline:2px solid #81dfff;outline-offset:5px}
@media(max-width:760px){.footer-columns{grid-template-columns:1fr 1fr;gap:24px}}@media(max-width:400px){.footer-columns{grid-template-columns:1fr}}
.personal-rating-filter{display:flex;align-items:center;gap:14px;margin:0 0 22px;color:var(--muted)}.personal-rating-filter select,.download-history button{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit}.personal-game-note{display:block;color:#b7d7c8;font-size:.75rem;margin:6px 0}.download-history{padding:14px;border:1px solid var(--line);border-radius:16px;margin-bottom:16px;background:rgba(80,150,140,.05)}.download-history p{margin:0 0 8px}.download-history small{color:var(--muted);line-height:1.5}.download-history>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.personal-rating-filter[hidden]{display:none}
.version.version-fresh{color:#ffe3af;border:1px solid rgba(255,173,72,.6);background:rgba(73,38,17,.94);box-shadow:0 0 14px rgba(255,157,54,.18)}
/* Compact brand masthead and consistent interface glyphs. */
.ui-icon{display:block;width:21px;height:21px;flex:none}
.topbar{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:16px;min-height:110px;padding:20px 22px;margin-bottom:24px;border:1px solid rgba(159,138,216,.18);border-radius:24px;background:radial-gradient(ellipse at 15% 0%,rgba(125,80,235,.14),transparent 65%),linear-gradient(115deg,rgba(24,22,39,.94),rgba(16,22,34,.8));box-shadow:inset 0 1px rgba(255,255,255,.035)}
.topbar .brand-icon-home{position:static;width:58px;height:58px;border-radius:18px;box-shadow:none}.topbar .brand-icon-home img{width:46px;height:46px;border-radius:14px}
.topbar .brand-home{position:static;transform:none;min-width:0;justify-self:start}.topbar .brand-home .main-wordmark{animation:none;background:none;color:#f7f4ff;font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.045em;font-weight:850;text-shadow:none;line-height:1.15}.main-wordmark span{color:#ab8dff}.brand-caption{display:block;color:#a39caf;font-size:.73rem;margin-top:7px;letter-spacing:.01em}
.topbar .topbar-actions{position:static;margin:0;gap:8px}.topbar .tags-button{display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:none;background:rgba(149,129,211,.09);border-color:rgba(166,152,211,.25)}.topbar .avatar{display:grid;place-items:center;box-shadow:none;background:rgba(139,105,225,.18);border-color:rgba(161,136,224,.35);color:#d5c9ff}.topbar .avatar:hover{background:rgba(139,105,225,.3)}.bottom-nav .nav-item>span{display:grid;place-items:center}.search>.ui-icon,.search>span .ui-icon{width:20px;height:20px}
@media(max-width:600px){.topbar{grid-template-columns:48px minmax(0,1fr);padding:16px;gap:12px;min-height:0;border-radius:20px}.topbar .brand-icon-home{width:48px;height:48px;border-radius:15px}.topbar .brand-icon-home img{width:38px;height:38px}.topbar .topbar-actions{grid-column:1/-1;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--line)}.brand-caption{font-size:.7rem}.topbar .brand-home .main-wordmark{font-size:1.7rem}}
.topbar .brand-home .main-wordmark{background:linear-gradient(105deg,#f7f4ff 5%,#bf9aff 30%,#8868ff 48%,#59dfff 70%,#f7f4ff 95%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:wordmark-flow 5.5s ease-in-out infinite}.topbar .main-wordmark span{color:inherit}
@media(prefers-reduced-motion:reduce){.topbar .brand-home .main-wordmark{animation:none}}
/* Splash shares the masthead typography; age label does not offset the logo. */
.splash-content{width:min(100%,400px);padding:28px 20px}.splash-icon{width:76px;height:76px;border-radius:23px;margin-bottom:22px;box-shadow:0 0 0 1px rgba(163,136,246,.22),0 18px 65px rgba(107,76,223,.23)}
.splash-brand{font-size:clamp(2.25rem,9vw,3.2rem);line-height:1.15;letter-spacing:-.045em;font-weight:850;text-shadow:none}.splash-brand strong{margin-left:0;background:linear-gradient(105deg,#c7a4ff 5%,#8e6aff 38%,#59dfff 70%,#c7a4ff 95%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;animation:wordmark-flow 5.5s ease-in-out infinite}
.splash-content>p{margin-top:14px;font-size:.8rem;font-weight:450;letter-spacing:.01em;text-transform:none;color:#aaa5b9;text-align:center}.splash-glow{width:min(90vw,470px);opacity:.7;animation-duration:3s}
.splash-progress{width:104px;height:3px;margin-top:27px;border-radius:8px;overflow:hidden;background:rgba(166,147,225,.13)}.splash-progress i{display:block;width:40%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a47bff,#56daff);animation:splash-load 1.8s ease-in-out infinite}
.splash-progress.has-retry{width:auto;height:auto;overflow:visible;background:none}.splash-retry{min-height:42px;padding:0 20px;border:1px solid rgba(116,218,255,.55);border-radius:12px;background:linear-gradient(135deg,rgba(119,78,223,.8),rgba(37,168,204,.72));box-shadow:0 10px 30px rgba(42,130,207,.24);color:#fff;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}
.splash-meta{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:18px;font-size:.65rem;color:#817b91}.splash-meta .splash-age{position:static;transform:none;min-width:29px;height:20px;display:grid;place-items:center;border:1px solid rgba(183,165,223,.22);border-radius:6px;font-size:.6rem;font-weight:650;color:#a9a0be;background:transparent;box-shadow:none}
@media(prefers-reduced-motion:reduce){.splash-brand strong,.splash-progress i,.splash-glow{animation:none}.splash-progress i{width:100%;opacity:.65}}
.review-form .delete-review{justify-self:start;border:1px solid rgba(239,135,150,.3);border-radius:10px;padding:9px 13px;color:#efabb8;background:rgba(207,74,106,.07);font:inherit;font-size:.8rem}.review-window-note{color:var(--muted);font-size:.8rem;line-height:1.6}
.review-form .review-form-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.review-form-footer small{flex:1 1 240px;line-height:1.5}.review-form-footer button[type=submit]{flex:none;margin-left:auto;min-height:44px}.review-form-error{margin:0;color:#ffb0bb;font-size:.85rem;line-height:1.5}.review-form button[type=submit]:disabled{opacity:.6;cursor:wait}
/* Keep gradient paint beyond the last glyph's overhang and descender. */
.splash-brand strong,.topbar .brand-home .main-wordmark{padding-right:.12em;margin-right:-.12em;padding-bottom:.08em;margin-bottom:-.08em;overflow:visible}
.review-form .star-picker button{color:#34303f;-webkit-text-stroke:1px #b8adc9}
.review-form .star-picker button.active{color:#ffd760;-webkit-text-stroke:1px #ffe9a3}
.review-form .star-picker button:hover,.review-form .star-picker button:focus-visible{-webkit-text-stroke-color:#fff0bd}
@supports not (-webkit-text-stroke:1px white){.review-form .star-picker button{text-shadow:1px 0 #b8adc9,-1px 0 #b8adc9,0 1px #b8adc9,0 -1px #b8adc9}}
/* Restore the open, centered header; retain the glyph clipping fix above. */
.topbar{display:flex;position:relative;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:0;margin-bottom:20px;border:0;border-radius:0;background:none;box-shadow:none}
.topbar .brand-icon-home{position:static;width:48px;height:48px;border-radius:16px;box-shadow:0 12px 30px rgba(44,90,220,.18)}.topbar .brand-icon-home img{width:38px;height:38px;border-radius:12px}
.topbar .brand-home{position:absolute;left:50%;top:auto;transform:translateX(-50%)}.topbar .brand-home .main-wordmark{font-size:clamp(1.25rem,3.8vw,1.9rem);font-weight:900;letter-spacing:.08em;line-height:1.2}
.topbar .topbar-actions{position:static;margin-left:auto;padding:0;border:0;gap:9px}.topbar .tags-button{background:linear-gradient(135deg,rgba(130,76,238,.22),rgba(54,217,255,.15));border-color:rgba(111,190,255,.45);box-shadow:inset 0 1px rgba(255,255,255,.08)}.topbar .avatar,.topbar .avatar:hover{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:rgba(255,255,255,.13);color:#fff;box-shadow:0 10px 30px rgba(157,101,255,.22)}
@media(max-width:700px){.topbar{min-height:108px;padding-bottom:50px}.topbar .brand-icon-home{position:absolute;top:5px;left:0}.topbar .brand-home{top:13px}.topbar .topbar-actions{position:absolute;right:0;bottom:0}}
@media(min-width:960px){.topbar .brand-home .main-wordmark{font-size:2.3rem}}
#screenshotViewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--text);background:#090b12;overflow:hidden}
#screenshotViewer[open]{display:flex;flex-direction:column}#screenshotViewer::backdrop{background:#06070beF}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + var(--safe-top)) max(14px,var(--safe-right)) 10px max(14px,var(--safe-left));border-bottom:1px solid var(--line);flex:none;font-size:.85rem;color:var(--muted)}.viewer-toolbar>div{display:flex;gap:8px}.viewer-toolbar button{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}#viewerClose{font-size:1.5rem;line-height:1}
.viewer-stage{flex:1;min-height:0;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain;padding:12px 12px calc(12px + var(--safe-bottom));touch-action:pan-x pan-y pinch-zoom}.viewer-stage img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;max-width:100%;max-height:100%}.viewer-stage.zoomed{display:block}.viewer-stage.zoomed img{width:200%;height:auto;max-width:none;max-height:none;object-fit:initial}.screenshot:not(.blurred){cursor:zoom-in}
/* Community profiles, authors and reviews */
.user-avatar{display:inline-grid;flex:none;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.14);border-radius:16px;color:#fff;font-size:1.2rem;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.16),0 10px 24px rgba(0,0,0,.2)}
.avatar-nova{background:linear-gradient(145deg,#8858ff,#2f8dff)}.avatar-pixel{background:linear-gradient(145deg,#3478f6,#46d7c5)}.avatar-orbit{background:linear-gradient(145deg,#735cff,#3ab8ff)}.avatar-ember{background:linear-gradient(145deg,#4169ff,#7b2cff)}
.avatar-moon{background:linear-gradient(135deg,#342977,#817bcc)}.avatar-comet{background:linear-gradient(135deg,#8338a5,#dc629b)}.avatar-flower{background:linear-gradient(135deg,#ac4382,#d07d93)}.avatar-bolt{background:linear-gradient(135deg,#9c621f,#cf9b35)}.avatar-diamond{background:linear-gradient(135deg,#176e88,#47aabd)}.avatar-clover{background:linear-gradient(135deg,#227e61,#6aab69)}.avatar-sun{background:linear-gradient(135deg,#b55740,#dc9c59)}.avatar-wave{background:linear-gradient(135deg,#255681,#3c9cba)}
.photo-avatar{overflow:hidden}.photo-avatar img,.photo-avatar video{display:block;width:100%;height:100%;object-fit:cover}.photo-avatar video{pointer-events:none}.photo-avatar.avatar-effect img,.photo-avatar.avatar-effect video{border-radius:inherit;transform:translateZ(0);backface-visibility:hidden}
.logout-button{grid-column:1/-1;min-height:46px;border:1px solid rgba(255,130,150,.28);border-radius:14px;background:rgba(255,100,130,.05);color:#f3a5b5;font-weight:700}.logout-button:hover{background:rgba(255,100,130,.12)}.logout-button:disabled{opacity:.5;cursor:wait}
.login-methods{display:grid;gap:12px}.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.72rem}.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:var(--line)}.google-login{min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(150,168,225,.3);border-radius:14px;background:#fff;color:#202124;text-decoration:none;font-weight:750}.google-login:hover{background:#f4f7ff}.google-login svg{width:20px;height:20px}.google-login[hidden],.login-divider:has(+.google-login[hidden]){display:none}#googleLoginStatus:empty{display:none}#googleLoginStatus{margin:0;color:var(--muted);font-size:.75rem;text-align:center}
.google-connection .telegram-mark{background:linear-gradient(135deg,#4285f4,#34a853)}.connection-link{padding:9px 12px;border:1px solid rgba(105,196,255,.35);border-radius:11px;color:#dceaff;text-decoration:none;font-size:.76rem;font-weight:800;background:rgba(66,133,244,.12)}
a[data-view],a[data-open]{text-decoration:none;color:inherit;font-family:inherit;cursor:pointer}a.cover-button,a.game-title{display:block}a[data-view]:focus-visible,a[data-open]:focus-visible{outline:2px solid #81dfff;outline-offset:3px}.footer-columns a[data-view]{color:var(--muted);font:inherit}
.topbar .avatar .user-avatar{width:100%;height:100%;border-radius:inherit;box-shadow:none}.topbar .avatar:has(.user-avatar){padding:0;overflow:hidden}
.topbar .avatar.guest-login{width:auto;min-width:76px;padding:0 16px;font-size:.85rem}
.profile-card{max-width:900px;width:100%;margin-inline:auto;box-sizing:border-box}.profile-card>.user-avatar{width:68px;height:68px;font-size:2rem;border-radius:22px}
.profile-card .avatar-picker{flex-wrap:wrap;gap:14px;padding:5px}.avatar-picker label:has(input:focus-visible) .user-avatar{outline:2px solid #fff;outline-offset:3px}
.avatar-upload{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(130deg,rgba(140,95,255,.08),rgba(45,209,255,.04))}.avatar-upload p{margin:0;font-size:.82rem;color:var(--muted);line-height:1.6}.avatar-file-label{display:block;position:relative;cursor:pointer}.avatar-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.avatar-file-control{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:10px 14px;border:1px solid rgba(151,119,255,.34);border-radius:16px;background:linear-gradient(135deg,rgba(122,86,255,.18),rgba(43,202,255,.09));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.avatar-file-control:hover{border-color:rgba(129,220,255,.58);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 26px rgba(51,28,122,.16)}.avatar-file-input:focus-visible+.avatar-file-control{outline:2px solid #9c79ff;outline-offset:3px}.avatar-file-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#e9e2ff;background:linear-gradient(145deg,#7652f4,#28bfe9);box-shadow:0 8px 22px rgba(88,62,221,.3)}.avatar-file-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.avatar-file-control>span:nth-child(2){display:grid;gap:4px;min-width:0}.avatar-file-control strong{font-size:.86rem;line-height:1.25;color:var(--text)}.avatar-file-control small{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:.67rem;letter-spacing:.035em;white-space:nowrap}.avatar-file-control>i{color:#bca9ff;font-size:1.45rem;font-style:normal}.avatar-upload button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);padding:10px}.profile-form .primary-action{min-height:48px}.profile-form input:focus-visible{outline:2px solid #9c79ff;outline-offset:2px}
@media(min-width:700px){.profile-card dl{grid-template-columns:repeat(4,1fr)}.profile-card{padding:30px;gap:22px}.profile-form{padding-top:12px}}
.profile-card small{color:var(--muted)}.profile-form{grid-column:1/-1;display:grid;gap:14px}.profile-form>label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:750}.profile-form input:not([type=radio]):not([type=file]){min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:14px;outline:0;background:var(--surface-2);color:var(--text)}
.profile-form fieldset{padding:0;border:0}.profile-form legend{margin-bottom:8px;color:var(--muted);font-size:.78rem;font-weight:750}.avatar-picker{display:flex;gap:10px}.avatar-picker label{position:relative;cursor:pointer}.avatar-picker input{position:absolute;opacity:0}.avatar-picker label:has(input:checked) .user-avatar{outline:2px solid #c8aeff;outline-offset:3px}.locked-avatar{min-height:46px;border:1px dashed rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.035);color:#aaa6b7}
.premium-card{grid-column:1/-1;display:grid;gap:10px;padding:16px;border:1px solid rgba(255,203,92,.22);border-radius:18px;background:linear-gradient(135deg,rgba(255,203,92,.11),rgba(157,101,255,.09))}.premium-card.active{border-color:rgba(105,214,161,.34);background:linear-gradient(135deg,rgba(105,214,161,.12),rgba(157,101,255,.09))}.premium-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.premium-card>div span,.premium-card>div strong{font-weight:850}.premium-card>div strong{color:#ffe38b;font-size:.82rem}.premium-card.active>div strong{color:#83e3b4}.premium-card p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.premium-card button{min-height:46px;border:0;border-radius:14px;background:linear-gradient(135deg,#9d65ff,#d85aa6);color:#fff;font-weight:850;box-shadow:0 10px 30px rgba(157,101,255,.24)}.premium-card button:disabled{opacity:.55}
.profile-card.premium-profile{position:relative;overflow:hidden;border-color:rgba(92,218,255,.36);box-shadow:0 0 0 1px rgba(141,83,255,.12),0 24px 70px rgba(72,54,210,.2)}.profile-card.premium-profile::before{content:"";position:absolute;z-index:-1;inset:-45%;background:conic-gradient(from 0deg,transparent,rgba(124,77,255,.14),transparent,rgba(54,217,255,.12),transparent);animation:premium-aura 9s linear infinite}.premium-profile .rank-badge{border-color:rgba(91,221,255,.42);background:linear-gradient(135deg,rgba(137,76,255,.28),rgba(45,207,255,.2));color:#e8faff}.premium-profile .premium-card.active{border-color:rgba(90,218,255,.42);background:linear-gradient(135deg,rgba(124,77,255,.18),rgba(54,217,255,.1));box-shadow:inset 0 1px rgba(255,255,255,.08),0 14px 38px rgba(83,74,230,.15)}@keyframes premium-aura{to{transform:rotate(360deg)}}
.rank-badge{display:inline-flex;width:fit-content;padding:3px 7px;border-radius:7px;background:rgba(255,255,255,.07);color:#bbb7c8;font-size:.66rem;font-style:normal;font-weight:850}.rank-guru,.rank-oracle,.rank-legend{background:rgba(105,214,161,.14);color:#83e3b4}.rank-oracle{box-shadow:inset 0 0 0 1px rgba(105,214,161,.25)}.rank-legend{color:#ffe38b;background:rgba(255,202,83,.13)}
.author-card{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;padding:13px;border:1px solid var(--line);border-radius:17px;background:var(--surface);text-align:left}.author-card>span:nth-child(2){display:grid;gap:3px}.author-card small{color:var(--muted)}.author-card i{color:#b694ff;font-size:1.3rem}.author-logo{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:linear-gradient(145deg,rgba(157,101,255,.28),rgba(236,95,164,.18));color:#dccbff;font-weight:900}.author-logo.large{width:72px;height:72px;margin-bottom:14px;border-radius:22px;font-size:1.6rem}
.rating-pill{position:absolute;z-index:2;top:10px;left:10px;padding:5px 7px;border-radius:9px;background:rgba(12,10,16,.78);color:#ffd760;font-size:.69rem;font-weight:900;backdrop-filter:blur(10px)}.rating-summary{display:flex;align-items:center;gap:8px;margin:0 0 14px}.rating-summary strong{color:#ffd760;font-size:1.2rem}.rating-summary span{color:var(--muted);font-size:.78rem}.developer-link{width:100%;margin-top:14px;padding:12px;border:1px solid rgba(157,101,255,.22);border-radius:14px;background:rgba(157,101,255,.08);color:#cdb7ff;text-align:left;font-weight:750}
.reviews-section{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.reviews-heading{display:flex;align-items:center;justify-content:space-between}.reviews-heading h3{margin-top:3px;font-size:1.18rem}.reviews-heading>span{color:var(--muted)}.review-form{display:grid;gap:10px;margin:15px 0 20px;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.star-picker{display:flex;gap:3px}.star-picker button{padding:2px;border:0;background:transparent;color:#4b4856;font-size:1.65rem}.star-picker button.active{color:#ffd760}.review-form textarea{min-height:96px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:13px;outline:0;background:var(--surface-2);color:var(--text)}.review-form>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-form small{color:var(--muted)}.review-form button[type=submit]{min-height:38px;padding:0 13px;border:0;border-radius:11px;background:var(--accent);font-size:.78rem;font-weight:800}
.review-list{display:grid;gap:10px}.review{padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.review.trusted{border-color:rgba(105,214,161,.32);box-shadow:inset 3px 0 #69d6a1}.review header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.review header>div{display:grid;gap:3px}.review header>b{color:#ffd760}.review p{margin:12px 0;color:#d5d1dd;white-space:pre-wrap}.review footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.review footer small{color:var(--muted)}.review footer button{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:.72rem}.review footer button.active{border-color:rgba(105,214,161,.35);color:#83e3b4}.no-reviews{padding:18px;border-radius:14px;background:rgba(255,255,255,.03);color:var(--muted);text-align:center}
.author-sheet{padding:70px 20px calc(24px + var(--safe-bottom))}.author-sheet>p{margin:6px 0 18px;color:var(--muted)}.author-games{display:grid;gap:9px;margin-top:20px}.author-games button{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:11px;min-height:68px;padding:6px;border:1px solid var(--line);border-radius:15px;background:var(--surface);text-align:left}.author-games img{width:58px;height:58px;border-radius:11px;object-fit:cover}.author-games span{display:grid;gap:4px}.author-games small{color:var(--muted)}
.tag-browser{grid-column:1/-1;display:grid;gap:14px}.tag-search{display:grid;grid-template-columns:24px 1fr;align-items:center;min-height:50px;padding:0 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.tag-search span{color:#72dcff;font-size:1.3rem}.tag-search input{width:100%;border:0;outline:0;background:none;color:var(--text)}.tag-alphabet{display:flex;gap:6px;padding-bottom:3px;overflow-x:auto;scrollbar-width:none}.tag-alphabet::-webkit-scrollbar{display:none}.tag-alphabet button{flex:none;min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:850}.tag-alphabet button.active{border-color:rgba(73,216,255,.45);background:linear-gradient(135deg,rgba(124,77,255,.3),rgba(54,217,255,.15));color:#fff}.tags-cloud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tags-cloud button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:0 14px;border:1px solid rgba(180,128,255,.22);border-radius:15px;background:linear-gradient(135deg,rgba(133,77,235,.14),rgba(54,217,255,.06));text-align:left}.tags-cloud span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.tags-cloud small{flex:none;color:#a99db9}.tag-empty{padding:24px;color:var(--muted);text-align:center}.login-panel{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,5,10,.91);backdrop-filter:none}.login-panel>div{position:relative;width:min(100%,390px);padding:24px;border:1px solid rgba(190,142,255,.3);border-radius:24px;background:linear-gradient(145deg,#221b31,#12121c 72%);box-shadow:0 30px 90px rgba(0,0,0,.6);text-align:center}.login-close{position:absolute;top:10px;right:10px;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05);color:#bbb4c8;font-size:1.45rem}.login-panel h2{margin:6px 0 8px;font-size:1.45rem}.login-panel p{margin-bottom:20px;color:var(--muted)}#telegramLogin{min-height:46px;display:grid;place-items:center}
.tag-browser .tags-cloud{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}

/* The app supplies its own clear button; hide the browser's duplicate search cancel control. */
input[type="search"]::-webkit-search-cancel-button{display:none;-webkit-appearance:none}
.tag-browser .tags-cloud button{flex:0 1 auto;max-width:100%;min-width:0;min-height:36px;padding:7px 11px;gap:8px;border-radius:10px;font-size:.78rem;line-height:1.35;justify-content:flex-start}
.tag-browser .tags-cloud span{min-width:0;font-weight:650;white-space:normal;overflow-wrap:anywhere}
.tag-browser .tags-cloud small{font-size:.66rem;color:#aaa3bd;white-space:nowrap}
.tag-browser .trending-tags{padding:16px;gap:10px}
.tag-browser .trending-tags h3{margin:0;font-size:.95rem}
.tag-browser .trending-tags>p{font-size:.73rem}
@media(pointer:coarse){.tag-browser .tags-cloud button{min-height:44px}}
@media(max-width:520px){.tag-browser .tags-cloud{gap:7px}.tag-browser .trending-tags{padding:12px}}

.download-release{border:1px solid var(--border);border-radius:16px;margin:10px 0;background:var(--surface-2);min-width:0}
.download-release>summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px;min-height:54px;cursor:pointer;list-style:none}
.download-release>summary::-webkit-details-marker{display:none}.download-release>summary strong{flex:1;overflow-wrap:anywhere}.download-release>summary small{color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.download-release>summary em{font-style:normal}.download-release[open]>summary em{transform:rotate(180deg)}
.release-platforms{padding:0 10px 10px;min-width:0}.release-platforms .download-platform{margin-top:8px}.download-release>summary:focus-visible{outline:2px solid #78d8ef;outline-offset:2px}
@media(max-width:450px){.download-release>summary small{flex-basis:100%;order:3}}

.history-nav{display:flex;gap:8px;margin:6px 0 14px}
.history-nav.is-empty{display:none}
.history-nav button,.sheet-navigation button,.sheet-navigation a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;text-decoration:none;cursor:pointer}
.history-nav button{font-size:.78rem}.history-nav button:disabled,.sheet-navigation button:disabled{opacity:.3;cursor:default}
.sheet-navigation{position:sticky;top:0;z-index:12;display:flex;gap:8px;align-items:center;padding:10px max(10px,var(--safe-right)) 10px max(10px,var(--safe-left));background:rgba(17,17,26,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.sheet-navigation a{margin-left:auto;font-size:.78rem}.sheet-navigation button{font-size:1.3rem}.sheet-navigation button:focus-visible,.sheet-navigation a:focus-visible,.history-nav button:focus-visible{outline:2px solid #81dfff;outline-offset:2px}
.author-games a{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:11px;min-height:68px;padding:6px;border:1px solid var(--line);border-radius:15px;background:var(--surface);text-align:left;color:inherit;text-decoration:none}
a.developer-link{text-decoration:none;display:block;color:inherit}
@media(max-width:450px){.sheet-navigation{gap:6px}.sheet-navigation a{font-size:.72rem;padding-inline:8px}}
.detail-page .game-sheet{top:0;bottom:0;left:0;right:0;transform:none;width:100%;max-width:1100px;max-height:100dvh;margin:0 auto;border-radius:0}
.detail-page .sheet-navigation{padding-top:calc(10px + var(--safe-top))}.detail-page .sheet-body{padding-bottom:calc(24px + var(--safe-bottom))}

html.detail-open{overflow:hidden}

/* Personal shelves and community rankings */
.library-hub { grid-column:1 / -1; min-width:0; width:100%; }
.library-section { margin-bottom:32px; min-width:0; }
.library-section header,.ranking-column header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.library-section h3,.ranking-column h3 { font-size:18px; }
.library-section h3 small { color:#a5a2b7; font-size:13px; }
.library-hub .library-section>header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:18px 0 12px;margin-bottom:10px;border-top:1px solid rgba(143,119,199,.16)}
.library-hub .library-section>header h3{grid-column:2;display:flex;align-items:center;justify-content:center;gap:10px;margin:0;color:#f3edff;font-size:clamp(1.25rem,1.7vw,1.7rem);line-height:1.3;letter-spacing:-.02em}
.library-hub .library-section>header h3 small{display:inline-grid;place-items:center;min-width:34px;padding:4px 8px;border:1px solid rgba(153,125,218,.25);border-radius:999px;background:rgba(131,85,212,.12);color:#c6b4ed;font-size:.72rem;letter-spacing:0;font-variant-numeric:tabular-nums}
.library-hub .library-section>header>a{grid-column:3;justify-self:end;min-height:40px;display:inline-flex;align-items:center;padding:8px 13px;font-size:.78rem}
@media(max-width:600px){.library-hub .library-section>header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:14px}.library-hub .library-section>header h3{grid-column:1;justify-content:flex-start;gap:7px;font-size:1.12rem}.library-hub .library-section>header>a{grid-column:2;padding:7px 9px;font-size:.7rem}.library-hub .library-section>header h3 small{min-width:26px;padding:3px 6px;font-size:.65rem}}
.library-section header a,.ranking-column header a { color:#bbb2df; white-space:nowrap; font-size:13px; }
.library-shelf { display:grid; grid-auto-flow:column; grid-auto-columns:220px; gap:16px; overflow-x:auto; padding:6px 2px 16px; scroll-snap-type:x proximity; }
.library-shelf .game-card { scroll-snap-align:start; min-width:0; }
.library-updates-details{margin:8px 0 24px;border:1px solid rgba(134,111,193,.28);border-radius:18px;background:linear-gradient(120deg,rgba(72,43,117,.17),rgba(27,65,85,.12));overflow:hidden}
.library-updates-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;list-style:none;cursor:pointer;color:#e5dcf7;font-size:1.08rem;font-weight:800}
.library-updates-details>summary::-webkit-details-marker{display:none}.library-updates-details>summary i{font-style:normal;font-size:1.3rem;transition:transform .2s}.library-updates-details[open]>summary i{transform:rotate(180deg)}
.library-updates-details .follow-updates{margin:0;padding:8px 18px 18px;border:0;border-radius:0;background:none;box-shadow:none}.library-updates-details .follow-updates>header small,.library-updates-details .follow-updates>header h3{display:none}.library-updates-details .follow-updates header p{font-size:.86rem}.library-updates-details .follow-update-game strong{font-size:.98rem;line-height:1.4}.library-updates-details .follow-update-game small{font-size:.8rem}.library-updates-details .follow-update-status{font-size:.76rem}.library-updates-details .notification-offer{margin:0 16px 16px}
@media(max-width:600px){.library-updates-details>summary{padding:15px;font-size:1rem}.library-updates-details .follow-updates{padding:4px 12px 12px}.library-updates-details .follow-update{grid-template-columns:38px minmax(0,1fr);gap:9px}.library-updates-details .follow-update-cover{width:38px;height:48px}.library-updates-details .follow-update-status{grid-column:2;max-width:none;text-align:left}}
@media(min-width:960px){.library-hub .library-shelf{grid-auto-flow:column;grid-auto-columns:220px;grid-template-columns:none;grid-template-rows:auto;gap:16px;overflow-x:auto}.library-hub .library-section{width:100%}.library-hub .library-section>header{margin-bottom:10px}.library-hub .follow-updates-list{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}}
.ranking-section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:32px 0; }
.ranking-section[hidden] { display:none; }
.ranking-column { padding:18px; border:1px solid #393449; border-radius:18px; background:#15131f; }
.ranking-column ol { padding-left:26px; }
.ranking-column li { padding:12px 0; color:#a5a2b7; }
.ranking-column li a { display:flex; flex-direction:column; gap:6px; color:#f3f1fa; text-decoration:none; }
.ranking-column small,.review-version { color:#a5a2b7; font-size:12px; }
.review-version { display:block; margin-top:5px; }
.outline-star { color:#a5a2b7; font-size:21px; }
@media(max-width:600px) { .ranking-section { grid-template-columns:1fr; } .library-shelf { grid-auto-columns:180px; } }

/* Compact ranked game rows */
.ranking-column { padding:18px 16px 10px; background:linear-gradient(145deg,#181522,#12111b); }
.ranking-column h3 { display:flex; align-items:center; gap:9px; margin:4px 0 16px; font-size:16px; }
.ranking-heading-icon { display:inline-flex; color:#aaa1c8; }
.ranking-heading-icon svg { width:19px; height:19px; flex-shrink:0; }
.ranking-column header > a { text-decoration:none; align-self:flex-start; padding:6px 0; }
.ranking-column ol { list-style:none; padding:0; margin:0; }
.ranking-column li { padding:0; }
.ranking-column li + li { border-top:1px solid #ffffff07; }
.ranking-column li a.ranking-game { display:flex; flex-direction:row; align-items:center; gap:12px; padding:10px 6px; border-radius:10px; transition:background .15s; }
.ranking-game:hover,.ranking-game:focus-visible { background:#ffffff08; }
.ranking-game:focus-visible { outline:2px solid #a896ee; outline-offset:2px; }
.ranking-place { width:22px; flex-shrink:0; font-size:12px; font-variant-numeric:tabular-nums; color:#777286; }
.ranking-podium { color:#b7a6e8; font-weight:700; }
.ranking-cover { display:flex; align-items:center; justify-content:center; width:44px; height:56px; flex-shrink:0; border-radius:7px; overflow:hidden; background:#282333; color:#8c829f; }
.ranking-cover img { width:100%; height:100%; object-fit:cover; }
.ranking-info { min-width:0; flex:1; }
.ranking-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:600; }
.ranking-stats { display:flex; gap:13px; margin-top:7px; font-size:11px; color:#9992a8; }
.ranking-stats > span { display:inline-flex; align-items:center; gap:4px; }
.ranking-stats svg { width:13px; height:13px; }
.ranking-stats .ranking-score { color:#d6bd83; }
.ranking-arrow { color:#736b87; font-size:21px; }
@media(max-width:400px) { .ranking-column { padding:14px 10px 8px; } .ranking-column li a.ranking-game { gap:9px; } .ranking-column h3 { font-size:14px; } }

.catalog-tabs button { display:inline-flex; align-items:center; justify-content:center; gap:5px; line-height:1; }
.catalog-tabs .outline-star { display:inline-flex; align-items:center; line-height:1; font-size:18px; }
.telegram-app .game-sheet { top:calc(var(--safe-top) + 12px); bottom:0; max-height:calc(100dvh - var(--safe-top) - 12px); }
.telegram-app .detail-page .sheet-navigation { padding-top:10px; }
@media(max-width:450px) { .sheet-navigation a span { display:none; } .sheet-navigation a { font-size:18px; } }

.scroll-rail { position:relative; min-width:0; max-width:100%; }
.scroll-rail[hidden] { display:none; }
.scroll-rail > :first-child { scrollbar-width:none; margin-inline:0; }
.scroll-rail > :first-child::-webkit-scrollbar { display:none; }
.rail-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:4; display:grid; place-items:center; width:42px; height:42px; min-width:42px; padding:10px; border:1px solid rgba(190,174,235,.42); border-radius:50%; background:rgba(28,24,43,.94); color:#f4edff; box-shadow:0 4px 18px #0008; backdrop-filter:blur(10px); cursor:pointer; transition:background .15s,border-color .15s; }
.rail-arrow[hidden] { display:none; }
.rail-prev { left:5px; }.rail-next { right:5px; }
.rail-arrow svg { width:20px; height:20px; }
.rail-arrow:hover { background:#51416e; border-color:#c5affe; }
.rail-arrow:focus-visible { outline:2px solid #8de4ff; outline-offset:3px; }
.scroll-rail-compact .rail-arrow { width:32px; min-width:32px; height:32px; padding:6px; }
.scroll-rail-compact { margin-bottom:14px; }
.scroll-rail-compact > :first-child { margin-block:0; }
/* Screenshot galleries use the same edge arrows, with the counter above. */
.gallery-tools [data-gallery-prev],.gallery-tools [data-gallery-next] { display:none; }

/* Align the platform rail with search and catalog tabs, without double gutters. */
.scroll-rail:has(> .platforms) { margin-top:14px; margin-bottom:16px; }
.scroll-rail > .platforms { padding-inline:0; }
.library-section header > a,.ranking-column header > a,.popular-heading > button {
  display:inline-flex; align-items:center; gap:6px; color:#82def3; font-weight:650;
  padding:6px 10px; border:1px solid rgba(106,214,240,.18); border-radius:9px;
  background:rgba(76,185,218,.07); text-decoration:none; transition:background .15s,color .15s;
}
.library-section header > a:hover,.ranking-column header > a:hover,.popular-heading > button:hover { color:#b9f2ff; background:rgba(76,185,218,.15); }
.library-section header > a:focus-visible,.ranking-column header > a:focus-visible,.popular-heading > button:focus-visible { outline:2px solid #82def3; outline-offset:3px; }

/* Repeated control taps are clicks, not a request to zoom the page. */
button, a, input, select, textarea, summary, [role="button"] { touch-action:manipulation; }
.app-shell, .game-sheet { touch-action:pan-x pan-y; }
/* The screenshot viewer is outside both containers and keeps pinch zoom. */
#viewerStage { touch-action:pan-x pan-y pinch-zoom; }

.topbar .avatar:not(.guest-login) { width:50px; height:50px; flex-shrink:0; border-radius:16px; }
.topbar .avatar:not(.guest-login) .user-avatar { font-size:1.3rem; }
.topbar .topbar-actions { align-items:center; }

/* Support and administration share the site's compact, touch-friendly controls. */
.site-footer .contact-button{display:block;margin-top:14px;padding:10px 15px;border:1px solid #66528d;border-radius:12px;background:rgba(157,101,255,.12);color:#d8c8ff;font-weight:650;text-decoration:none}
.profile-community-actions{display:flex;gap:10px;flex-wrap:wrap;grid-column:1/-1}
.profile-community-actions button,.ignored-panel button,.community-dialog button,.similar-section>button{min-height:42px;padding:10px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit}
.community-dialog{width:min(940px,calc(100vw - 28px));max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px);padding:0;border:1px solid #443656;border-radius:22px;color:var(--text);background:var(--surface);overscroll-behavior:contain;box-shadow:0 25px 90px #0009;touch-action:pan-x pan-y}
.community-dialog::backdrop{background:#070710bd;backdrop-filter:blur(5px)}
.community-dialog[open]{display:flex;flex-direction:column}
.community-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);flex:none}
.community-header small{color:#b6a0da;font-size:.78rem}.community-header h2{margin:5px 0 0;font-size:1.3rem}.community-header>button{width:44px;height:44px;padding:0;font-size:1.65rem}
.community-tabs{display:flex;gap:8px;padding:12px 22px 0;flex:none}.community-tabs button[aria-pressed=true]{background:#332549;border-color:#9972cd;color:#eee2ff}
.community-body{padding:20px 22px 28px;overflow:auto;min-height:120px;overscroll-behavior:contain}.community-body h3{margin:22px 0 12px;font-size:1.05rem}.community-body p{color:var(--muted);line-height:1.6}
.community-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;flex-wrap:wrap}.community-toolbar p{flex:1;min-width:180px;margin:0;font-size:.83rem}.community-toolbar small{color:var(--muted)}
.support-list{display:grid;gap:8px}.support-list>button{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:15px}.support-list>button>span:first-child{min-width:0;display:grid;gap:6px}.support-list strong{overflow-wrap:anywhere;font-size:.95rem}.support-list small{color:var(--muted);font-size:.75rem}
.ticket-status{font-size:.72rem;padding:5px 9px;border-radius:20px;background:#282532;color:#c5c1d4;flex-shrink:0}.status-open{background:#40341c;color:#f2d392}.status-answered{background:#183b32;color:#8ee0be}
.new-support{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.new-support summary{color:#c7b0f6;cursor:pointer;padding:8px 0;font-weight:650}
.community-dialog form{display:grid;gap:14px;margin-top:14px}.community-dialog label{display:grid;gap:8px;font-size:.85rem;color:#ccc5df}.community-dialog input,.community-dialog textarea{box-sizing:border-box;width:100%;border:1px solid #4c405f;border-radius:12px;padding:12px;background:#0e0d17;color:var(--text);font:inherit;font-size:16px}.community-dialog textarea{resize:vertical;min-height:100px}.community-dialog form>button{justify-self:end;min-width:125px;background:#6841a2;border-color:#a77ee5}.community-dialog [role=alert]{color:#ffb4b4;margin:0}.community-dialog button:disabled,.ignored-panel button:disabled{opacity:.5;cursor:wait}
.support-messages{display:grid;gap:12px;margin:16px 0 22px}.support-message{padding:14px 16px;margin-right:7%;border:1px solid #393343;border-radius:16px;background:#1b1824}.support-message.from-admin{margin-right:0;margin-left:7%;border-color:#554074;background:#272033}.support-message header{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;font-size:.78rem}.support-message small{color:var(--muted)}.support-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;color:#e6e0f0}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.admin-stats article{display:grid;gap:10px;padding:16px;background:#1d1829;border:1px solid #3b304f;border-radius:16px}.admin-stats small{color:#b3a8c9;font-size:.75rem}.admin-stats strong{font-size:1.7rem;font-variant-numeric:tabular-nums}.admin-activity{display:grid;gap:6px}.admin-activity article{display:grid;gap:5px;padding:12px;background:#191621;border-radius:10px;overflow-wrap:anywhere}.admin-activity strong{font-size:.85rem}.admin-activity small{color:var(--muted);font-size:.75rem}
.admin-health{margin-bottom:22px}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.health-card{display:grid;grid-template-columns:12px 1fr;gap:11px;align-items:start;padding:13px;border:1px solid #3b304f;border-radius:14px;background:#191621}.health-card>i{width:10px;height:10px;margin-top:4px;border-radius:50%;background:#7b7388;box-shadow:0 0 10px currentColor}.health-card.ok>i{color:#50e4a8;background:#50e4a8}.health-card.warn>i{color:#ffb44f;background:#ffb44f}.health-card.bad>i{color:#ff657f;background:#ff657f}.health-card div{display:grid;gap:5px;min-width:0}.health-card strong{font-size:.82rem}.health-card small{color:var(--muted);font-size:.7rem;line-height:1.45;overflow-wrap:anywhere}
.ignored-panel{padding:18px;border:1px solid #473958;border-radius:18px;margin-bottom:22px;background:linear-gradient(120deg,#241b33,#16141f)}.ignored-panel header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.ignored-panel h3{margin:0;font-size:1rem}.ignored-panel h3 small{color:#b69ad7;font-weight:400}.ignored-panel p{margin:12px 0;font-size:.82rem;line-height:1.6;color:#b6adc7}.ignored-tags{display:flex;gap:8px;flex-wrap:wrap}.ignored-tags button{color:#d0b9ef;padding:7px 11px;min-height:36px;font-size:.78rem}.ignored-tags small{color:var(--muted)}.ignored-panel button[aria-pressed=true],.tags-cloud button[data-ignore-tag][aria-pressed=true]{border-color:#a17ccb;background:#39284c;color:#e6d0ff}.tags-cloud button[data-ignore-tag]{border-style:dashed}
.similar-section{padding:0 18px 24px;margin-top:24px;border-top:1px solid var(--line);min-width:0}.similar-section>h3{margin:20px 0 6px}.similar-section>p{font-size:.82rem;line-height:1.5;color:var(--muted);margin:0 0 18px}.similar-section .library-shelf{grid-auto-columns:190px;gap:14px}.similar-section .game-info{padding:12px}.similar-section .game-info h3{font-size:.95rem}.similar-section .os-list{gap:4px}.similar-section .card-footer{flex-wrap:wrap;gap:9px}
.topbar-actions>a{transition:transform .14s ease,filter .14s ease;cursor:pointer}.topbar-actions>a:active{transform:scale(.94);filter:brightness(1.2)}.topbar-actions>a:focus-visible,.community-dialog button:focus-visible,.ignored-panel button:focus-visible{outline:2px solid #b697ed;outline-offset:3px}
@media(max-width:600px){.community-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);margin-top:calc(var(--safe-top) + 12px);border-radius:18px}.community-header{padding:14px 16px}.community-body{padding:16px}.community-tabs{padding:12px 16px 0}.support-list>button{align-items:flex-start;flex-direction:column;gap:9px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats article{padding:12px}.admin-stats strong{font-size:1.45rem}.support-message,.support-message.from-admin{margin-inline:0}.similar-section .library-shelf{grid-auto-columns:170px}}
@media(prefers-reduced-motion:reduce){.topbar-actions>a{transition:none}}

html:has(.community-dialog[open]){overflow:hidden}
.notification-offer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:22px;border:1px solid #584273;border-radius:18px;background:linear-gradient(120deg,#291d3e,#151823)}.notification-offer h3{margin:0 0 7px;font-size:1rem}.notification-offer p{margin:0;font-size:.83rem;color:#bcb1cd;line-height:1.6}.notification-offer button,.notification-detail button{flex-shrink:0;padding:11px 15px;border:1px solid #a67ce6;border-radius:12px;background:#624094;color:#fff;font-weight:650;cursor:pointer}.notification-detail{margin:12px 0 20px;padding:12px 14px;border:1px solid #433452;border-radius:13px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.notification-detail p{flex:1;min-width:170px;margin:0;font-size:.79rem;line-height:1.5;color:#bcb1cd}.notification-detail button{font-size:.75rem;padding:8px 12px}
.follow-updates{display:grid;gap:14px;padding:18px 20px;margin-bottom:24px;border:1px solid rgba(135,94,220,.48);border-radius:20px;background:radial-gradient(circle at 95% 0,rgba(64,195,255,.11),transparent 34%),linear-gradient(125deg,rgba(51,30,78,.96),rgba(18,20,35,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.follow-updates>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.follow-updates>header small{display:block;margin-bottom:5px;color:#b896ff;font-size:.68rem;font-weight:800;letter-spacing:.12em}.follow-updates h3{margin:0 0 5px;font-size:1rem}.follow-updates header p{margin:0;color:#aaa4bb;font-size:.76rem;line-height:1.5}.follow-updates-live{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(93,223,180,.25);border-radius:999px;background:rgba(26,117,88,.13);color:#91e5c5;font-size:.68rem;font-weight:750;white-space:nowrap}.follow-updates-live>i{width:7px;height:7px;border-radius:50%;background:#54e4b0;box-shadow:0 0 10px #54e4b0}.follow-updates-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.follow-update{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:9px 11px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.035);color:inherit;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.follow-update:hover{border-color:rgba(128,209,255,.3);background:rgba(255,255,255,.06);transform:translateY(-1px)}.follow-update:focus-visible{outline:2px solid #82def3;outline-offset:2px}.follow-update-cover{display:grid;place-items:center;width:46px;height:55px;overflow:hidden;border-radius:10px;background:#10111d;color:#8c83a3}.follow-update-cover img{width:100%;height:100%;object-fit:cover}.follow-update-game{display:grid;gap:5px;min-width:0}.follow-update-game strong,.follow-update-game small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follow-update-game strong{font-size:.8rem}.follow-update-game small{color:#9993a9;font-size:.68rem}.follow-update-status{display:flex;align-items:center;gap:6px;max-width:145px;font-size:.65rem;font-weight:720;text-align:right}.follow-update-status>i{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;font-size:.69rem;font-style:normal}.follow-update-status.sent{color:#8be4be}.follow-update-status.sent>i{background:rgba(38,173,121,.18)}.follow-update-status.pending{color:#efd58c}.follow-update-status.pending>i{background:rgba(197,151,38,.18)}.follow-update-status.failed{color:#ff9ca8}.follow-update-status.failed>i{background:rgba(210,57,77,.18)}.follow-update-status.skipped{color:#9f99ad}.follow-update-status.skipped>i{background:rgba(255,255,255,.07)}.follow-updates-empty{margin:0;padding:13px;border:1px dashed rgba(255,255,255,.1);border-radius:13px;color:#aaa4bb;font-size:.76rem;line-height:1.5}.follow-updates-empty button{border:0;background:transparent;color:#a9e8ff;font-weight:700;cursor:pointer}
.premium-dialog{width:min(550px,calc(100vw - 24px))}.premium-offer-icon{display:grid;place-items:center;width:64px;height:64px;background:linear-gradient(135deg,#9458eb,#46bdec);border-radius:20px;font-size:2rem;color:white;margin:4px 0 18px}.premium-dialog .community-body>h3{margin-top:8px}.premium-dialog .community-body>strong{display:block;color:#d6b9ff;margin:14px 0}.premium-dialog .premium-delivery{padding:13px 15px;background:#1b1926;border-radius:12px;font-size:.8rem}.premium-dialog a{color:#b7d9ff;text-underline-offset:3px}.premium-dialog label.premium-consent,.premium-dialog label.premium-switch{display:flex;align-items:center;gap:10px;line-height:1.5;margin:16px 0 10px}.premium-dialog input[type=checkbox]{appearance:auto;accent-color:#a277e5;width:20px;height:20px;flex:0 0 20px;padding:0}.premium-methods{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 12px}.premium-methods button[data-payment-method=stars]{background:linear-gradient(120deg,#7543ae,#584b9b);border-color:#a487cd;flex:1}.premium-methods button[data-payment-method=crypto]{background:#173c39;border-color:#39786f;flex:1}.premium-methods button{font-weight:650}.premium-dialog .premium-support{background:transparent;color:#b7d9ff;border:0;padding-left:0}.premium-dialog .primary-action{display:inline-flex;align-items:center;padding:11px 15px;border-radius:12px;text-decoration:none;color:white}
.premium-dialog .trial-header{background:radial-gradient(circle at 10% 0,rgba(126,78,227,.2),transparent 48%)}.premium-dialog .trial-header small{color:#c8a8ff;font-weight:850;letter-spacing:.09em}.premium-dialog .trial-body{display:grid;gap:16px}.trial-intro{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:18px}.trial-intro .premium-offer-icon{margin:0;box-shadow:0 12px 35px rgba(83,164,255,.25),inset 0 1px rgba(255,255,255,.35)}.trial-intro p{margin:0;color:#c1bbcb;line-height:1.65}.trial-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trial-benefits span{padding:11px 12px;border:1px solid rgba(136,113,190,.28);border-radius:12px;background:rgba(111,78,164,.09);color:#ddd6e9;font-size:.78rem;line-height:1.35}.trial-benefits span:last-child{grid-column:1/-1;color:#b9f1df;background:rgba(42,155,118,.09);border-color:rgba(67,190,148,.25)}.premium-dialog button.trial-activate{position:relative;display:grid;justify-items:center;width:100%;min-height:64px;padding:11px 18px;border:1px solid rgba(178,220,255,.7);border-radius:16px;background:linear-gradient(115deg,#7d45dc 0%,#566df2 47%,#31b9e8 100%);color:#fff;box-shadow:0 13px 34px rgba(72,101,238,.34),0 0 0 1px rgba(255,255,255,.08) inset;overflow:hidden;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.premium-dialog button.trial-activate::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.22) 45%,transparent 68%);transform:translateX(-120%);transition:transform .5s ease}.premium-dialog button.trial-activate:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 18px 42px rgba(72,101,238,.44),0 0 24px rgba(49,185,232,.2)}.premium-dialog button.trial-activate:hover::before{transform:translateX(120%)}.premium-dialog button.trial-activate:active{transform:translateY(0) scale(.985)}.premium-dialog button.trial-activate strong{position:relative;font-size:.98rem;letter-spacing:.01em}.premium-dialog button.trial-activate small{position:relative;margin-top:3px;color:rgba(255,255,255,.78);font-size:.68rem}.premium-dialog .trial-delivery{margin:0;border:1px solid rgba(255,255,255,.04)}
@media(max-width:760px){.follow-updates-list{grid-template-columns:1fr}.follow-update-status{max-width:132px}}
@media(max-width:600px){.notification-offer{align-items:stretch;flex-direction:column;padding:16px;gap:14px}.notification-offer button{align-self:flex-start}.follow-updates{padding:16px}.follow-updates>header{align-items:flex-start}.follow-updates-live{padding:6px 8px}.follow-update{grid-template-columns:42px minmax(0,1fr)}.follow-update-cover{grid-row:1/3;width:42px;height:52px}.follow-update-status{grid-column:2;justify-self:start;max-width:none;text-align:left}.premium-dialog{width:calc(100vw - 16px)}.premium-methods{flex-direction:column;align-items:stretch}.trial-intro{grid-template-columns:58px 1fr;gap:13px}.trial-intro .premium-offer-icon{width:56px;height:56px;border-radius:17px;font-size:1.55rem}.trial-benefits{grid-template-columns:1fr}.trial-benefits span:last-child{grid-column:auto}.premium-dialog button.trial-activate{min-height:62px}}
.premium-dialog .expiry-header{background:radial-gradient(circle at 12% 0,rgba(110,230,183,.18),transparent 52%),linear-gradient(120deg,rgba(47,38,82,.5),transparent)}.expiry-header small{color:#6fe1b4;font-weight:900;letter-spacing:.14em}.expiry-body{display:grid;justify-items:center;gap:14px;text-align:center}.expiry-symbol{display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(114,235,189,.48);border-radius:26px;background:radial-gradient(circle at 35% 25%,rgba(126,245,198,.38),transparent 38%),linear-gradient(145deg,#56358f,#173e4b);color:#b8ffe2;font-size:2.3rem;box-shadow:0 16px 42px rgba(28,165,126,.2),inset 0 1px rgba(255,255,255,.2)}.expiry-body>p{max-width:440px;margin:0;color:#c5bece;line-height:1.62}.expiry-body>strong{padding:8px 13px;border:1px solid rgba(97,225,174,.28);border-radius:999px;background:rgba(34,142,106,.13);color:#8ce7be;font-size:.8rem}.expiry-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:9px;width:100%;margin-top:5px}.expiry-actions button:first-child{border-color:#83e6c0;background:linear-gradient(110deg,#6944d9,#35b9c9);color:#fff;font-weight:850}.expiry-dismiss{border:0!important;background:transparent!important;color:#9d96a8!important;font-size:.73rem;text-decoration:underline;text-underline-offset:3px}.expiry-body [data-expiry-status]{min-height:1em;margin:0;color:#82deb9;font-size:.72rem}.expiry-dismiss:disabled{opacity:.55}@media(max-width:500px){.expiry-actions{grid-template-columns:1fr}.expiry-symbol{width:70px;height:70px;border-radius:22px}}
/* Layered ambient colour gives the catalog depth without competing with cards. */
body::before{content:"";position:fixed;inset:-18vmax;pointer-events:none;z-index:0;opacity:.78;background:radial-gradient(ellipse at 18% 20%,rgba(157,101,255,.21) 0,transparent 31%),radial-gradient(ellipse at 82% 28%,rgba(54,217,255,.14) 0,transparent 29%),radial-gradient(ellipse at 58% 82%,rgba(217,85,173,.11) 0,transparent 34%),conic-gradient(from 205deg at 50% 48%,transparent 0 24%,rgba(100,73,211,.07) 34%,transparent 47% 72%,rgba(39,161,193,.06) 84%,transparent);transform:translate3d(-1.5%,0,0) scale(1.02);animation:ambient-drift 26s ease-in-out infinite alternate}
.app-shell{position:relative;z-index:1}
@keyframes ambient-drift{0%{transform:translate3d(-1.5%,0,0) scale(1.02) rotate(-1deg);opacity:.68}50%{transform:translate3d(1.2%,-1.1%,0) scale(1.055) rotate(.6deg);opacity:.88}100%{transform:translate3d(-.4%,1.2%,0) scale(1.035) rotate(1.2deg);opacity:.74}}
.topbar{isolation:isolate;position:relative}.brand{position:relative}.topbar::before{content:"";position:absolute;pointer-events:none;left:8%;top:-45px;width:min(650px,75vw);height:220px;background:radial-gradient(ellipse,#8665d02b,transparent 68%);z-index:-1}.topbar h1{filter:drop-shadow(0 0 18px #8b64b641)}
@media(min-width:1350px){body::after{content:"";position:fixed;inset:8% 0 4%;pointer-events:none;z-index:0;background:url('/assets/ambient-character.svg') left center/240px 620px no-repeat,url('/assets/ambient-character.svg') right center/240px 620px no-repeat;opacity:.065}}
@media(max-width:700px){body::before{inset:-28vmax;opacity:.58;animation-duration:32s}}
html,body,.sheet,.sheet-body,.community-dialog,.viewer-stage,.mirror-list,.release-platforms{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,.sheet::-webkit-scrollbar,.sheet-body::-webkit-scrollbar,.community-dialog::-webkit-scrollbar,.viewer-stage::-webkit-scrollbar,.mirror-list::-webkit-scrollbar,.release-platforms::-webkit-scrollbar{display:none}
.nickname-edit{display:grid;place-items:center;align-self:center;flex:none;width:28px;height:28px;min-height:28px;padding:0;border:1px solid rgba(126,190,255,.34);border-radius:50%;background:rgba(66,130,210,.12);color:#bcdcff;cursor:pointer}.nickname-edit svg{display:block;width:14px;height:14px;fill:currentColor;transform:translate(.25px,-.25px)}.nickname-edit:hover{border-color:#7edcff;color:#fff;box-shadow:0 0 15px rgba(77,203,255,.2)}.nickname-dialog{width:min(430px,calc(100vw - 24px))}.nickname-dialog .community-body{padding-top:8px}.nickname-dialog form{margin-top:0}
.download-release{border:1px solid #73609c!important;border-radius:16px;background:linear-gradient(120deg,#242036,#161b29);margin:12px 0;overflow:hidden}.download-release>summary{padding:17px;cursor:pointer;color:#ded2ff;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.download-release>summary::before{content:'↓';display:grid;place-items:center;width:30px;height:30px;border:1px solid #6f6096;border-radius:10px;color:#baedff;background:#3b3154}.download-release>summary small{color:#aba2bf}.download-release[open]>summary{border-bottom:1px solid #524565}.download-platform>summary{background:#222334;border-radius:12px}.release-platforms{padding:12px}.download-label{font-size:1.1rem!important;color:#e2d5ff!important;font-weight:750;letter-spacing:.025em}
.crop-auto{display:grid;gap:5px;padding:13px 15px;border:1px solid rgba(93,224,184,.32);border-radius:14px;background:linear-gradient(135deg,rgba(26,117,91,.2),rgba(53,199,219,.08));color:#dffbed}.crop-auto small{color:#99aaa5}.crop-stage{width:240px;height:240px;margin:18px auto;position:relative;overflow:hidden;border-radius:50%;outline:2px solid #be9df6;touch-action:none;background:#0c0c17;cursor:grab;box-shadow:0 18px 50px rgba(0,0,0,.26),0 0 24px rgba(154,103,245,.14)}.crop-stage.manual{cursor:move;outline-color:#5fe3ef}.crop-stage:active{cursor:grabbing}.crop-stage img,.crop-stage video{max-width:none!important;max-height:none!important;position:absolute;user-select:none;pointer-events:none}.crop-zoom{display:grid;gap:11px;margin:2px 0 14px;padding:14px 15px;border:1px solid rgba(115,211,239,.25);border-radius:15px;background:linear-gradient(135deg,rgba(92,60,171,.16),rgba(31,151,187,.08))}.crop-zoom header{display:flex;align-items:center;justify-content:space-between;gap:12px}.crop-zoom header span{display:grid;gap:3px}.crop-zoom strong{font-size:.86rem;color:#eee8ff}.crop-zoom small{color:#9da2b8;font-size:.7rem}.crop-zoom output{min-width:58px;padding:6px 9px;border:1px solid rgba(132,217,242,.28);border-radius:9px;background:rgba(34,164,196,.1);color:#a9efff;font-size:.76rem;font-weight:900;text-align:center;font-variant-numeric:tabular-nums}.crop-zoom input{width:100%;accent-color:#63d9ef}.crop-advanced{margin:8px 0 16px;border:1px solid #3b3449;border-radius:14px;background:#12111c}.crop-advanced summary{padding:13px 15px;cursor:pointer;color:#cfc3e7;font-weight:800}.crop-advanced[open] summary{border-bottom:1px solid #302a3c}.crop-advanced .crop-control{padding:0 15px}.crop-control{display:grid;grid-template-columns:minmax(145px,auto) 1fr;align-items:center;gap:12px;margin:16px 0;font-size:.82rem}.crop-control input{width:100%;min-width:0;accent-color:#a875e6}.crop-actions{display:flex;gap:9px;flex-wrap:wrap}.crop-actions button{flex:1;min-width:145px}.experience-dialog{max-width:620px}.experience-dialog button{touch-action:manipulation}.experience-dialog select,.experience-dialog textarea{width:100%;padding:12px;background:#191826;color:#ece5ff;border:1px solid #584d70;border-radius:12px;margin:12px 0}.experience-dialog textarea{min-height:95px}.setting-check{display:flex;gap:12px;align-items:center;margin:16px 0;line-height:1.5}.setting-check input{appearance:auto;accent-color:#a87bec;width:19px;height:19px;flex-shrink:0}.effect-preview,.public-profile-head{display:flex;align-items:center;gap:18px;padding:20px;flex-wrap:wrap}.effect-preview .user-avatar,.public-profile-head .user-avatar{width:70px;height:70px;font-size:2rem}.profile-tabs,.profile-pages{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.profile-tabs [aria-pressed=true]{border-color:#bb8ff1;background:#47305f}.public-profile-items article{border:1px solid #393246;border-radius:14px;padding:15px;margin:12px 0}.public-profile-items p{white-space:pre-wrap;overflow-wrap:anywhere}.public-profile-items a,.profile-link{color:#bdc5ff!important}.profile-link{background:transparent!important;border:0!important;padding:0!important;cursor:pointer;font:inherit;text-align:left}.public-profile-items b{float:right;color:#f1d37b}.viewer-pagination{display:flex;align-items:center;gap:10px}.viewer-pagination button{min-width:40px;min-height:40px;font-size:24px}.viewer-pagination [disabled]{opacity:.25}.viewer-pagination span{font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}
.game-status{display:inline-block;font-size:.65rem;line-height:1.4;padding:4px 7px;border-radius:7px;margin:0 0 8px}.game-status:empty{display:none}.completed-status{background:#194d3b66;color:#95dfbc}.stale-status{color:#b8adc8;background:#37314166}.top-status{color:#f7de95;background:#74541c50;border:1px solid #947b4550}
.avatar-effect{position:relative;isolation:isolate;overflow:visible!important}.avatar-effect img{border-radius:inherit}.effect-halo{box-shadow:0 0 0 2px #b19bd17a,0 0 18px #a383e62a}.effect-sparkles::after{content:'✦';position:absolute;right:-5px;top:-6px;font-size:16px;color:#dac1ff;animation:avatar-twinkle 4s ease-in-out infinite;pointer-events:none}.effect-snow::after{content:'· ❄ ·';position:absolute;inset:-10px;text-align:center;color:#c7eaff;letter-spacing:4px;font-size:14px;animation:avatar-snow 5s ease-in-out infinite;pointer-events:none}.effect-aurora{animation:avatar-aurora 6s linear infinite;box-shadow:0 0 0 2px #aa8cff90,0 0 20px #6fc6df55}.rank-expert{box-shadow:0 0 8px #9b79d94d}.rank-guru{animation:rank-glow 5s ease-in-out infinite}.rank-oracle{animation:rank-glow 3.5s ease-in-out infinite;background:linear-gradient(100deg,#483270,#334576,#483270)!important;background-size:200% 100%!important}.rank-legend{animation:rank-legend 5s linear infinite;background:linear-gradient(100deg,#7a5927,#744c9c,#346c7c,#7a5927)!important;background-size:250% 100%!important;border:1px solid #d8b87580;text-shadow:0 0 8px #fff4}
@keyframes avatar-twinkle{50%{opacity:.35;transform:scale(.7)}}@keyframes avatar-snow{50%{transform:translateY(12px);opacity:.35}}@keyframes avatar-aurora{50%{box-shadow:0 0 0 2px #74d2c990,0 0 23px #a77af855}}@keyframes rank-glow{50%{box-shadow:0 0 13px #aa7fff65;filter:brightness(1.18)}}@keyframes rank-legend{50%{background-position:100% 50%;box-shadow:0 0 17px #e2b85d55}}
@media(max-width:600px){.viewer-toolbar{flex-wrap:wrap;gap:8px}.viewer-pagination{gap:6px}.experience-dialog{width:calc(100vw - 16px)}.crop-stage{flex-shrink:0}.public-profile-head{padding:8px}.topbar::before{opacity:.65}}
@media(prefers-reduced-motion:reduce){.avatar-effect,.avatar-effect::after,.rank-badge{animation:none!important}}

/* Lightweight profile progression and avatar effects. */
.rank-badge{border:1px solid transparent}.rank-seeker{color:#b9c9e9;background:#65759b1c}.rank-hunter{color:#79dcff;background:#28789524}.rank-keeper{color:#8de1bf;background:#26795d24}.rank-archivist{color:#d8b2ff;background:#7849a62b}.rank-novelist{color:#ffacd9;background:#a8497a2b}.rank-choices{color:#b7a9ff;background:linear-gradient(110deg,#46317680,#243b6980)}.rank-chronicler{color:#86f1e4;background:linear-gradient(110deg,#1f5f6880,#41418480)}.rank-ending{color:#ffd68c;background:linear-gradient(110deg,#704c2780,#713c7380);box-shadow:0 0 10px #e1975840}.rank-oracle{color:#d8f7ff;background:linear-gradient(100deg,#244c72,#643e8d,#244c72)!important;background-size:200% 100%!important;animation:rank-flow 6s linear infinite}.rank-legend{color:#fff0a8;background:linear-gradient(100deg,#7a5927,#744c9c,#346c7c,#7a5927)!important;background-size:250% 100%!important;border-color:#d8b87580;animation:rank-flow 5s linear infinite}.rank-eternal{color:#fff;background:linear-gradient(100deg,#6e35bd,#167fa2,#cc4b91,#6e35bd);background-size:260% 100%;border-color:#e3c4ff8c;box-shadow:0 0 14px #955cff55;animation:rank-flow 4s linear infinite;text-shadow:0 0 7px #fff8}
.avatar-effect::before{content:"";position:absolute;inset:-4px;z-index:-1;border-radius:inherit;pointer-events:none}.effect-halo::before{background:linear-gradient(135deg,#9d78ff,#58dcff);filter:blur(3px);opacity:.58}.effect-sparkles::before{background:radial-gradient(circle at 12% 18%,#fff 0 2px,transparent 3px),radial-gradient(circle at 88% 70%,#ae8aff 0 2px,transparent 3px);animation:avatar-twinkle 3.2s ease-in-out infinite}.effect-snow::after{content:"";inset:-12px;z-index:2;background:radial-gradient(circle,#fff 0 1.2px,transparent 1.8px) 0 0/15px 18px,radial-gradient(circle,#9ee9ff 0 1px,transparent 1.7px) 7px 5px/19px 22px;animation:snowfall 5s linear infinite}.effect-aurora::before{background:conic-gradient(from 0deg,#6df0e1,#7d6dff,#ed70e8,#68dcff,#6df0e1);filter:blur(2px);animation:ring-spin 7s linear infinite}.effect-fire{box-shadow:0 0 16px #ff5a2d70}.effect-fire::before{inset:-7px;background:conic-gradient(from 20deg,#ffcf32,#ff5a16 18%,#7c1aff 36%,#ff7a18 54%,#ffe052 72%,#e72d15 88%,#ffcf32);filter:blur(2px);animation:ring-spin 3.2s linear infinite}.effect-fire::after{content:"";position:absolute;z-index:2;left:8%;right:8%;bottom:-9px;height:18px;background:radial-gradient(ellipse at 20% 100%,#ffdc43 0 18%,#ff611c 20% 42%,transparent 45%),radial-gradient(ellipse at 52% 100%,#fff07a 0 15%,#ff3b16 20% 48%,transparent 51%),radial-gradient(ellipse at 82% 100%,#ffbd31 0 18%,#ec2415 22% 42%,transparent 45%);filter:drop-shadow(0 0 5px #ff4b18);animation:flame-dance 1.5s ease-in-out infinite alternate;pointer-events:none}.effect-water{box-shadow:0 0 18px #35bff069}.effect-water::before{inset:-6px;border:2px solid #60e5ff;background:conic-gradient(from 90deg,#1264b8,#66f4ff,#564cff,#27bbef,#1264b8);animation:ring-spin 7s linear infinite}.effect-water::after{content:"";position:absolute;z-index:2;inset:-5px;border:2px solid #b8f8ff;border-radius:inherit;opacity:.7;animation:water-pulse 2.8s ease-out infinite;pointer-events:none}
@keyframes snowfall{to{background-position:0 36px,7px 49px}}@keyframes ring-spin{to{transform:rotate(360deg)}}@keyframes flame-dance{to{transform:translateY(-3px) scaleX(.92);filter:drop-shadow(0 0 8px #ff8a18)}}@keyframes water-pulse{70%,100%{inset:-14px;opacity:0}}@keyframes rank-flow{50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.avatar-effect::before,.avatar-effect::after,.rank-oracle,.rank-legend,.rank-eternal{animation:none!important}}
.native-select-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.custom-select{position:relative;width:100%}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:0 14px;border:1px solid #514766;border-radius:14px;background:linear-gradient(145deg,#1d1b2b,#141420);color:#eee8fb;text-align:left;font-weight:750;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.custom-select-trigger i{color:#a98aff;font-style:normal;font-size:1rem;transition:transform .18s ease}.custom-select.open .custom-select-trigger{border-color:#9c78ea;box-shadow:0 0 0 3px #8f62d624,0 10px 30px #0005}.custom-select.open .custom-select-trigger i{transform:rotate(180deg)}.custom-select-menu{position:absolute;z-index:30;top:calc(100% + 7px);left:0;right:0;display:grid;gap:3px;padding:6px;border:1px solid #594a75;border-radius:15px;background:#171522;box-shadow:0 18px 45px #000a;animation:select-pop .16s ease-out}.custom-select-menu[hidden]{display:none}.custom-select-menu button{min-height:38px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:#e9e1f8;text-align:left;font-size:.8rem}.custom-select-menu button:hover,.custom-select-menu button[aria-selected=true]{background:linear-gradient(110deg,#6541a85c,#287c9a4a);color:#fff}.custom-select-menu button:disabled{color:#777083;opacity:.65}.privacy-options .setting-check input{appearance:none;width:22px;height:22px;border:1px solid #635879;border-radius:50%;background:#11101a;display:grid;place-items:center;transition:.18s ease}.privacy-options .setting-check input::before{content:"";width:10px;height:10px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .16s ease}.privacy-options .setting-check input:checked{border-color:#b185ff;background:linear-gradient(135deg,#a66df2,#48bfe0);box-shadow:0 0 12px #9b6ee64f}.privacy-options .setting-check input:checked::before{transform:scale(1)}.privacy-options .setting-check:hover{border-color:#65537e;background:#ffffff08}.privacy-options .setting-check span{line-height:1.35}@keyframes select-pop{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}

/* Focused entry, consent disclosure, badges and brighter loading feedback. */
.direct-entry .app-shell{visibility:hidden!important;opacity:0!important;pointer-events:none}
.splash{background:radial-gradient(circle at 50% 43%,#20204a 0,#0d1728 31%,#080912 70%)}
.splash::before,.splash::after{content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(2px);animation:splash-orbit 5s ease-in-out infinite alternate}
.splash::before{width:min(78vw,620px);height:min(34vw,270px);background:linear-gradient(90deg,transparent,rgba(167,92,255,.19),rgba(53,218,255,.18),transparent);transform:rotate(-12deg)}
.splash::after{width:min(48vw,360px);aspect-ratio:1;border:1px solid rgba(123,205,255,.16);box-shadow:0 0 65px rgba(122,81,255,.18);animation-delay:-2s}
.splash-content{z-index:1;width:min(88vw,460px);padding:36px 24px}.splash-icon{width:92px;height:92px;border-radius:28px;filter:saturate(1.14) brightness(1.08);box-shadow:0 0 0 1px rgba(137,224,255,.38),0 0 32px rgba(55,209,255,.2),0 24px 75px rgba(118,65,255,.36)}
.splash-brand{font-size:clamp(2.6rem,10vw,4rem)}.splash-progress{width:150px;height:4px;background:rgba(182,160,255,.2);box-shadow:0 0 18px rgba(85,208,255,.12)}.splash-progress i{background:linear-gradient(90deg,#b678ff,#7557ff,#43e4ff);box-shadow:0 0 12px #52dfff}
@keyframes splash-orbit{to{transform:translate3d(3%,-4%,0) rotate(10deg);opacity:.72}}
.age-disclosure{margin:14px 0;border:1px solid rgba(160,121,231,.3);border-radius:14px;background:linear-gradient(145deg,rgba(120,72,193,.11),rgba(38,169,204,.06));overflow:hidden}.age-disclosure summary{padding:13px 15px;cursor:pointer;color:#ded4f3;font-size:.84rem;font-weight:800}.age-disclosure summary::marker{color:#7fdff5}.age-disclosure>div{padding:0 15px 15px;border-top:1px solid rgba(255,255,255,.06)}.age-disclosure p{margin:11px 0;color:#aaa3b8;font-size:.76rem;line-height:1.55}.age-disclosure a,.legal-callout a{color:#8de5ff}.legal-callout{padding:16px 18px;border:1px solid rgba(150,111,224,.3);border-radius:14px;background:linear-gradient(135deg,rgba(125,73,208,.12),rgba(39,177,210,.07))}
.toast[popover]{inset:auto 18px calc(94px + var(--safe-bottom));width:auto;max-width:520px;margin:auto;border:1px solid rgba(141,235,187,.58)}
.special-badge{position:relative;display:inline-flex;align-items:center;width:max-content;margin:3px 0 3px 6px;padding:4px 9px;border-radius:999px;font-size:.65rem;font-weight:950;letter-spacing:.035em;color:#fff;vertical-align:middle;isolation:isolate;overflow:hidden}
.special-owner{background:linear-gradient(105deg,#6f42ce,#b54be1 50%,#208eb8);border:1px solid rgba(199,160,255,.65);box-shadow:0 0 14px rgba(160,89,255,.34);animation:special-breathe 2.8s ease-in-out infinite alternate}.special-owner::before{content:'♛';margin-right:5px;color:#ffe99b}.special-diamond{background:linear-gradient(115deg,#176c91,#48dfff,#6f70ff);box-shadow:0 0 15px rgba(66,217,255,.32)}.special-diamond::before{content:'◆';margin-right:5px}.special-aurora{background:linear-gradient(110deg,#256d68,#7861db,#a74bbf);animation:special-breathe 3.4s ease-in-out infinite alternate}.special-ruby{background:linear-gradient(110deg,#6e1839,#d43f75,#ff7e72);box-shadow:0 0 14px rgba(229,65,111,.3)}
.special-owner::after,.special-aurora::after{content:'';position:absolute;z-index:0;top:-70%;bottom:-70%;left:-30%;width:22%;transform:translateX(-260%) rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);animation:special-shine 4.6s ease-in-out infinite;pointer-events:none}.special-aurora::after{animation-delay:-2.1s}
@keyframes special-breathe{to{filter:brightness(1.13);box-shadow:0 0 18px rgba(115,169,255,.34)}}@keyframes special-shine{0%,18%{transform:translateX(-260%) rotate(18deg);opacity:0}30%{opacity:.9}48%,100%{transform:translateX(760%) rotate(18deg);opacity:0}}
.admin-badge-editor{max-width:620px}.admin-badge-editor>p{color:var(--muted);line-height:1.6}.admin-badge-editor select{width:100%;min-height:46px;padding:0 12px;border:1px solid #4c405f;border-radius:12px;background:#0e0d17;color:var(--text);font:inherit}.admin-badge-editor [data-badge-status]{min-height:22px;color:#a9edcf}
.catalog-intro{max-width:780px;margin:-13px 0 24px;color:#aca5ba;font-size:.86rem;line-height:1.65}.catalog-intro::before{content:'✦';margin-right:8px;color:#72dff5;text-shadow:0 0 12px rgba(89,219,255,.4)}
@media(max-width:600px){.splash-icon{width:82px;height:82px}.splash-content{padding:28px 18px}.age-disclosure summary{padding:12px}.special-badge{margin-left:3px}}
@media(prefers-reduced-motion:reduce){.splash::before,.splash::after,.special-badge{animation:none!important}}
@media(prefers-reduced-motion:reduce){.toast{animation:none}}

/* Compact Premium checkout and subscription controls. */
.premium-dialog{width:min(520px,calc(100vw - 24px));max-height:min(860px,calc(100dvh - 20px));overflow:auto;border-color:rgba(116,216,255,.3);background:linear-gradient(155deg,#151326 0%,#101522 58%,#11131d 100%);box-shadow:0 28px 90px rgba(0,0,0,.58),0 0 60px rgba(89,81,209,.14)}
.premium-header{padding:18px 20px 15px;background:radial-gradient(circle at 4% 0,rgba(139,79,238,.2),transparent 46%);border-bottom-color:rgba(255,255,255,.07)}
.premium-header small{color:#73ddf6;font-weight:900;letter-spacing:.14em}.premium-header h2{font-size:1.28rem}.premium-body{display:grid;gap:14px;padding:18px 20px 20px}
.premium-hero{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;padding:14px;border:1px solid rgba(126,111,206,.28);border-radius:18px;background:linear-gradient(125deg,rgba(111,66,203,.17),rgba(41,160,190,.08))}.premium-hero .premium-offer-icon{width:58px;height:58px;margin:0;border-radius:18px;font-size:1.65rem;box-shadow:0 12px 32px rgba(69,113,233,.25)}.premium-hero strong{display:block;margin:0 0 4px;color:#fff;font-size:1rem}.premium-hero p{margin:0;color:#aaa7ba;font-size:.78rem;line-height:1.35}
.premium-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.premium-benefits span{display:flex;align-items:center;min-height:48px;padding:9px 10px;border:1px solid rgba(129,112,183,.22);border-radius:12px;background:rgba(255,255,255,.025);color:#d8d3e5;font-size:.7rem;line-height:1.25}
.premium-renewal-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid rgba(82,223,176,.34);border-radius:15px;background:linear-gradient(120deg,rgba(33,145,109,.16),rgba(48,168,202,.08))}.premium-renewal-card>div{display:grid;gap:3px}.premium-renewal-card small{color:#79dfb7;font-size:.63rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.premium-renewal-card strong{color:#e6fff5;font-size:.78rem}.premium-toggle{position:relative;display:block;flex:none;width:46px;height:27px}.premium-toggle input{position:absolute;opacity:0;pointer-events:none}.premium-toggle span{display:block;width:100%;height:100%;border:1px solid #514c63;border-radius:999px;background:#242230;cursor:pointer;transition:.2s}.premium-toggle span::after{content:"";display:block;width:19px;height:19px;margin:3px;border-radius:50%;background:#9993a8;transition:.2s}.premium-toggle input:checked+span{border-color:#5ee1b0;background:#17694f;box-shadow:0 0 16px rgba(62,220,165,.16)}.premium-toggle input:checked+span::after{transform:translateX(19px);background:#9affd7}.premium-toggle input:focus-visible+span{outline:2px solid #8fe8ff;outline-offset:2px}.premium-toggle input:disabled+span{opacity:.55;cursor:wait}
.premium-quick-settings{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.025)}.premium-quick-settings .premium-switch{margin:0!important;font-size:.75rem}.premium-quick-settings>a{flex:none;color:#8fe8ff;font-size:.7rem;font-weight:800}
.premium-checkout{display:grid;gap:8px;padding-top:2px}.premium-dialog label.premium-consent{align-items:flex-start;margin:0;font-size:.72rem;color:#c6c0cf}.premium-terms-link{width:max-content;font-size:.68rem}.premium-methods{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 0;padding-right:36px}.premium-methods button{min-height:48px;padding:10px;border-radius:13px;font-size:.76rem}.premium-methods button:only-of-type{grid-column:1/-1}.premium-payment-info{position:absolute;right:0;top:7px}.premium-payment-info summary{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(127,215,239,.42);border-radius:50%;background:rgba(48,163,194,.1);color:#aeeeff;font:900 italic .76rem/1 Georgia,serif;cursor:pointer;list-style:none}.premium-payment-info summary::-webkit-details-marker{display:none}.premium-payment-info[open] summary{background:#27687a;color:#fff}.premium-payment-info>div{position:absolute;z-index:5;right:0;top:36px;width:min(330px,calc(100vw - 64px));padding:13px 14px;border:1px solid #514869;border-radius:13px;background:#171522;box-shadow:0 18px 50px #000a}.premium-payment-info p{margin:7px 0;color:#aaa4b6;font-size:.7rem;line-height:1.5}.premium-payment-info small{color:#7fdcc8;font-size:.65rem}
.premium-dialog .promo-redeem-block{margin:0;padding:14px;border-radius:15px}.premium-dialog .promo-redeem-block>div p{margin:4px 0 0;font-size:.7rem}.premium-dialog .promo-redeem-block form{gap:8px}.premium-dialog .promo-redeem-block input,.premium-dialog .promo-redeem-block button{min-height:42px}.premium-footer{display:flex;justify-content:center;padding-top:0}.premium-dialog .premium-support{padding:4px 8px;color:#8facc5;font-size:.68rem}

/* The editor owns the complete avatar rectangle; effects and the hover layer cannot leak below it. */
.profile-avatar-editor{overflow:hidden;contain:paint}.profile-avatar-editor>.user-avatar{inset:0;margin:0}.profile-avatar-editor>.avatar-effect::before{inset:1px!important}.profile-avatar-editor>.avatar-effect::after{max-width:100%;max-height:100%;clip-path:inset(0 round inherit)}.profile-avatar-change{inset:2px}
.profile-subscription-control{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid rgba(86,224,177,.3);border-radius:13px;background:rgba(34,139,106,.1)}.profile-subscription-control>span{display:grid;gap:2px}.profile-subscription-control small{color:#7bdcb7;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.profile-subscription-control strong{color:#ebfff7;font-size:.76rem}.profile-subscription-control .premium-toggle i{display:block;width:100%;height:100%;border:1px solid #514c63;border-radius:999px;background:#242230;cursor:pointer;transition:.2s}.profile-subscription-control .premium-toggle i::after{content:"";display:block;width:19px;height:19px;margin:3px;border-radius:50%;background:#9993a8;transition:.2s}.profile-subscription-control .premium-toggle input:checked+i{border-color:#5ee1b0;background:#17694f}.profile-subscription-control .premium-toggle input:checked+i::after{transform:translateX(19px);background:#9affd7}
@media(max-width:600px){.premium-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 12px);border-radius:20px}.premium-header{padding:15px 16px 13px}.premium-body{gap:11px;padding:14px 14px calc(16px + var(--safe-bottom))}.premium-hero{grid-template-columns:50px minmax(0,1fr);padding:11px}.premium-hero .premium-offer-icon{width:50px;height:50px;border-radius:15px;font-size:1.4rem}.premium-benefits{grid-template-columns:1fr}.premium-benefits span{min-height:36px;padding:8px 10px}.premium-quick-settings{align-items:flex-start;flex-direction:column}.premium-methods{grid-template-columns:1fr;padding-right:35px}.premium-dialog .promo-redeem-block{grid-template-columns:1fr}.premium-dialog .promo-redeem-block form{grid-template-columns:1fr}.premium-dialog .promo-redeem-block form button{width:100%}.premium-payment-info>div{width:min(300px,calc(100vw - 48px))}}
.development-status{color:#9ce7bf;background:#17473278;border:1px solid #43846555}

/* The artwork already contains its own tile; keep the header control visually clean. */
.topbar .brand-icon-home{border:0;background:transparent;box-shadow:none;overflow:visible}
.topbar .brand-icon-home img{width:44px;height:44px;border-radius:14px;box-shadow:0 8px 24px rgba(73,86,255,.25),0 0 0 1px rgba(96,218,255,.16)}
.topbar .brand-icon-home:hover{border-color:transparent;filter:brightness(1.08)}
@media(max-width:600px){.topbar .brand-icon-home img{width:42px;height:42px;border-radius:13px}}

/* TELLYGAME campaign masthead and ambient world. */
body::after{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,7,16,.54),rgba(7,8,17,.78) 34%,rgba(7,8,17,.92)),url("./assets/tellyplay-site-background-v1.webp") center top/cover no-repeat;opacity:.42;filter:saturate(.92);mask-image:linear-gradient(to bottom,#000 0,#000 62%,transparent 100%)}
body::before{content:"";position:fixed;z-index:0;inset:-12%;pointer-events:none;opacity:.68;background:radial-gradient(circle at 16% 18%,rgba(178,70,255,.2) 0 1px,transparent 3px),radial-gradient(circle at 72% 12%,rgba(72,224,255,.2) 0 2px,transparent 5px),radial-gradient(ellipse at 26% 34%,rgba(139,72,255,.2),transparent 25%),radial-gradient(ellipse at 78% 46%,rgba(42,205,255,.14),transparent 24%),linear-gradient(112deg,transparent 36%,rgba(165,76,255,.055) 47%,rgba(72,221,255,.08) 51%,transparent 63%);background-size:210px 210px,330px 330px,100% 100%,100% 100%,180% 100%;filter:blur(.2px);animation:ambient-glints 24s ease-in-out infinite alternate;will-change:transform,opacity;background-position:18px 12px,-24px 34px,center,center,52% 0}
.app-shell{position:relative;z-index:1}
.topbar{isolation:isolate;grid-template-columns:68px minmax(180px,1fr) auto;min-height:122px;padding:22px 24px;margin-bottom:18px;overflow:visible;border:1px solid rgba(112,209,255,.28);border-radius:26px;background:linear-gradient(90deg,rgba(7,8,19,.18),rgba(7,8,19,.8) 43%,rgba(7,13,28,.9)),url("./assets/tellyplay-site-masthead-v1.webp") left 25%/cover no-repeat;box-shadow:0 20px 70px rgba(5,3,18,.42),inset 0 1px rgba(255,255,255,.12),inset 0 -1px rgba(72,218,255,.12);animation:none}
.topbar::before{content:"";position:absolute;z-index:-1;inset:0;width:auto;height:auto;left:0;top:0;border-radius:inherit;background:linear-gradient(100deg,transparent 0 31%,rgba(7,8,19,.7) 47%,rgba(7,10,23,.3) 100%);pointer-events:none}
.topbar::after{content:"";position:absolute;pointer-events:none;left:8%;right:8%;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0,#b04fff 28%,#fff 48%,#42dcff 64%,transparent 100%);background-size:220% 100%;box-shadow:0 0 18px rgba(85,213,255,.7);animation:masthead-line 4.6s ease-in-out infinite}
.topbar .brand-icon-home{width:64px;height:64px;align-self:center;border:1px solid rgba(87,220,255,.46);border-radius:20px;background:rgba(7,8,20,.62);box-shadow:0 0 0 4px rgba(114,72,255,.1),0 12px 34px rgba(3,7,23,.48);backdrop-filter:blur(8px)}
.topbar .brand-icon-home img{width:52px;height:52px;border-radius:16px;box-shadow:0 0 22px rgba(71,212,255,.28)}
.topbar .brand-home{align-self:center;justify-self:center;text-align:center;text-shadow:0 6px 30px rgba(0,0,0,.75)}
.topbar .brand-home .main-wordmark{font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:950;letter-spacing:.055em;line-height:1;background:linear-gradient(105deg,#fff 4%,#fff 25%,#c5a0ff 39%,#c23cff 51%,#45dcff 66%,#fff 80%,#fff 96%);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 15px rgba(116,78,255,.35));animation:masthead-wordmark 3.4s ease-in-out infinite}
.topbar .brand-home .main-wordmark span{color:inherit}.topbar .brand-caption{display:block;margin-top:9px;color:var(--brand-caption-color,#9cecff);font-size:.69rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 14px #050614;transition:color .25s ease}
.topbar .topbar-actions{align-self:center;padding:7px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(7,9,21,.58);box-shadow:inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(12px)}
@media(max-width:600px){body::after{background-position:32% top;opacity:.32}body::before{opacity:.45;animation-duration:18s}.topbar{grid-template-columns:58px minmax(0,1fr);min-height:112px;padding:15px;border-radius:22px;background-position:18% 22%}.topbar::before{background:linear-gradient(100deg,transparent,rgba(7,8,19,.68) 34%,rgba(7,10,23,.84))}.topbar .brand-icon-home{position:static;width:54px;height:54px;border-radius:17px}.topbar .brand-icon-home img{width:44px;height:44px;border-radius:14px}.topbar .brand-home{position:static;transform:none;justify-self:start;text-align:left}.topbar .brand-home .main-wordmark{font-size:1.62rem}.topbar .brand-caption{margin-top:6px;font-size:.56rem}.topbar .topbar-actions{position:absolute;right:12px;bottom:-50px;grid-column:auto;padding:5px;background:rgba(11,12,25,.92)}.topbar{margin-bottom:64px}}
@keyframes masthead-wordmark{0%,100%{background-position:0% 50%;filter:drop-shadow(0 0 10px rgba(124,77,255,.28))}50%{background-position:100% 50%;filter:drop-shadow(0 0 22px rgba(70,218,255,.58))}}
@keyframes ambient-glints{from{transform:translate3d(-1.2%,-.7%,0) scale(1.01);opacity:.48}to{transform:translate3d(1.2%,.8%,0) scale(1.025);opacity:.68}}
@keyframes masthead-scene{from{background-position:left 22%}to{background-position:1.5% 29%}}
@keyframes masthead-line{0%,100%{background-position:0 0;opacity:.5}50%{background-position:100% 0;opacity:1}}
@media(prefers-reduced-motion:reduce){body::before,.topbar,.topbar::after,.topbar .brand-home .main-wordmark{animation:none}.topbar .brand-home .main-wordmark{background-position:52% 50%}}

/* Compact mobile masthead: the artwork is the logo, so a second portrait is redundant. */
@media(max-width:600px){
  .app-shell{padding-top:calc(12px + var(--safe-top))}
  .topbar{display:block;min-height:132px;padding:13px 14px;margin-bottom:16px;border-radius:21px;background-position:20% 26%;animation:none}
  .topbar .brand-icon-home{display:none}
  .topbar .brand-home{position:absolute;top:23px;right:16px;width:57%;margin:0;transform:none;text-align:left}
  .topbar .brand-home .main-wordmark{font-size:clamp(1.28rem,6vw,1.55rem);letter-spacing:.035em}
  .topbar .brand-caption{margin-top:6px;font-size:.51rem;letter-spacing:.13em}
  .topbar .topbar-actions{position:absolute;right:8px;bottom:8px;display:flex;gap:5px;padding:4px;border:1px solid rgba(111,190,255,.16);border-radius:14px;background:rgba(8,10,23,.79);box-shadow:0 8px 24px rgba(3,5,16,.3),inset 0 1px rgba(255,255,255,.06);backdrop-filter:none}
  .topbar .language-trigger,.topbar .tags-button{height:34px;min-height:34px;font-size:.72rem;border-radius:10px}
  .topbar .language-trigger{padding-inline:8px}
  .topbar .tags-button{padding-inline:10px}
  .topbar .avatar{width:36px;height:36px;border-radius:11px}
  .topbar .avatar.guest-login,.topbar .avatar:not(.guest-login){width:36px;height:36px;min-width:36px;padding:0}
  .topbar .avatar.guest-login{font-size:0}
  .topbar .avatar.guest-login::before{content:'✦';font-size:.9rem}
  .history-nav{margin-top:0;margin-bottom:14px}
  .rail-arrow{display:none!important}
}

/* Telegram WebViews benefit from stable composited layers while scrolling. */
html.telegram-app body::before{animation:telegram-ambient-drift 24s ease-in-out infinite alternate;will-change:transform,opacity;opacity:.43;background-position:18px 12px,-24px 34px,center,center,52% 0}
html.telegram-app body::after{background-attachment:scroll;filter:none;mask-image:none;opacity:.22}
html.telegram-app .topbar{animation:none}
html.telegram-app .topbar .brand-home .main-wordmark{animation:masthead-wordmark 4.8s ease-in-out infinite;background-position:52% 50%;filter:drop-shadow(0 0 12px rgba(90,174,255,.34))}
.topbar .topbar-actions,.topbar .brand-icon-home,.bottom-nav,.version,.rail-arrow{backdrop-filter:none}
@keyframes telegram-ambient-drift{from{transform:translate3d(-1.2%,-.7%,0) scale(1.01);opacity:.36}to{transform:translate3d(1.2%,.8%,0) scale(1.025);opacity:.52}}
@media(prefers-reduced-motion:reduce){html.telegram-app body::before,html.telegram-app .topbar,html.telegram-app .topbar .brand-home .main-wordmark{animation:none}}

/* An OAuth popup has its own compositor. Pause the page beneath it while Chrome moves that window. */
html.window-inactive body::before,
html.window-inactive .topbar,
html.window-inactive .topbar::after,
html.window-inactive .topbar .brand-home .main-wordmark,
html.window-inactive .profile-card.premium-profile::before,
html.window-inactive .avatar-effect,
html.window-inactive .avatar-effect::after,
html.window-inactive .rank-badge{animation-play-state:paused!important}
html.window-inactive .special-badge,html.window-inactive .special-badge::after{animation-play-state:paused!important}
html.window-inactive body::before{will-change:auto}

/* Nickname customization lives beside the nickname and previews the exact result. */
.profile-identity{display:grid;align-content:center;gap:4px;min-width:0;overflow:visible}.profile-badges{display:flex;align-items:center;gap:6px;min-height:24px;flex-wrap:wrap;overflow:visible}.profile-badges .rank-badge,.profile-badges .special-badge{box-sizing:border-box;align-items:center;min-height:22px;margin:0;padding:3px 8px;line-height:1}.profile-name-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:32px;margin:0;overflow:visible;flex-wrap:wrap}.profile-name-row h3{display:block;flex:0 0 auto;min-width:0;max-width:100%;margin:0;padding-block:3px;font-size:clamp(.95rem,1.7vw,1.12rem);line-height:1.15;overflow:visible}.profile-name-row .nickname-style{max-width:calc(100% + 8px);padding-right:8px;margin-right:-8px;line-height:1.15;white-space:nowrap}.profile-identity>small{display:block;min-height:16px;line-height:16px}.nickname-customize{align-self:center;flex:none;box-sizing:border-box;height:30px;min-height:30px;padding:4px 10px;border:1px solid rgba(157,119,255,.42);border-radius:999px;background:linear-gradient(145deg,rgba(124,76,206,.2),rgba(45,188,218,.1));color:#ded3ff;font-size:.68rem;font-weight:850;line-height:1;letter-spacing:.015em;box-shadow:inset 0 1px rgba(255,255,255,.08),0 5px 16px rgba(74,33,128,.16)}.nickname-customize:hover{border-color:rgba(104,221,255,.62);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.12),0 0 18px rgba(83,200,255,.16)}
.nickname-preview{display:grid;place-items:center;min-height:64px;margin-top:10px;padding:12px;border:1px solid rgba(151,114,221,.23);border-radius:14px;background:radial-gradient(circle at 50% 60%,rgba(112,65,198,.16),rgba(9,10,20,.78) 67%);font-size:1.22rem;overflow:hidden}.nickname-style{display:inline-block;max-width:100%;font-weight:900;line-height:1.15;vertical-align:middle}.nickname-default{color:inherit}.nickname-violet{color:#caa7ff;text-shadow:0 0 11px rgba(166,103,255,.4)}.nickname-cyan{color:#86eaff;text-shadow:0 0 11px rgba(60,218,255,.35)}.nickname-rose{color:#ffa5d4;text-shadow:0 0 11px rgba(255,99,179,.3)}
.settings-status{min-height:20px;margin:8px 0;color:#ffb7c9;font-size:.78rem;font-weight:750}
.profile-settings-form{display:grid;gap:14px}.settings-section{padding:16px;border:1px solid rgba(142,113,203,.25);border-radius:18px;background:linear-gradient(145deg,rgba(91,54,160,.12),rgba(10,15,29,.72));box-shadow:inset 0 1px rgba(255,255,255,.05)}.settings-section>header{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.settings-section>header>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(120,211,255,.32);border-radius:11px;background:linear-gradient(145deg,rgba(140,76,238,.28),rgba(43,183,216,.15));color:#9eeaff}.settings-section h3{margin:0;color:#fff;font-size:1rem}.settings-section header p{margin:3px 0 0;color:var(--muted);font-size:.74rem}.appearance-grid{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:12px}.appearance-grid>label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:750}.appearance-grid select{width:100%}.appearance-grid .effect-preview{display:grid;place-items:center;grid-row:1/span 2;grid-column:2;min-height:104px;border:1px solid rgba(125,196,255,.18);border-radius:15px;background:rgba(4,8,20,.4)}.appearance-grid .effect-preview .user-avatar{width:72px;height:72px}.appearance-grid .nickname-preview{grid-column:1;margin:0;min-width:0}.privacy-options{display:grid;gap:8px}.privacy-options .setting-check{display:flex;align-items:center;gap:11px;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}.privacy-options .setting-check input{flex:none}.privacy-options .setting-check span{color:var(--text);font-size:.82rem}.settings-own-profile{width:100%;margin-top:10px}
.nickname-fire,.nickname-frost,.nickname-neon{color:transparent;background-size:260% 100%;background-clip:text;-webkit-background-clip:text;animation:nickname-flow 3.8s linear infinite}.nickname-fire{background-image:linear-gradient(100deg,#ffe88c,#ff9b2f,#ff3d68,#ffb93e,#fff1a8);filter:drop-shadow(0 0 5px rgba(255,81,40,.48));animation-name:nickname-flow,nickname-fire-pulse;animation-duration:3.2s,1.7s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite}.nickname-frost{background-image:linear-gradient(100deg,#f8ffff,#87efff,#7793ff,#e4fbff,#70e0ff);filter:drop-shadow(0 0 6px rgba(95,218,255,.48))}.nickname-neon{background-image:linear-gradient(100deg,#ff62ec,#9b6cff,#48eaff,#ff62ec);filter:drop-shadow(0 0 6px rgba(183,76,255,.5));animation-duration:2.8s}
@keyframes nickname-flow{to{background-position:260% 0}}@keyframes nickname-fire-pulse{50%{filter:drop-shadow(0 0 9px rgba(255,109,40,.68)) brightness(1.12)}}
html.window-inactive .nickname-style{animation-play-state:paused!important}
@media(max-width:600px){.profile-card{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:14px;padding:20px 16px 18px}.profile-card>.user-avatar{width:96px;height:110px;border-radius:27px;align-self:start}.profile-identity{padding-top:0}.profile-name-row{align-items:flex-start;gap:6px}.profile-name-row h3{flex-basis:100%;max-width:100%;font-size:clamp(.78rem,3.4vw,.94rem)}.nickname-customize{padding-inline:9px}.profile-badges{gap:5px;min-height:24px}.profile-badges .rank-badge,.profile-badges .special-badge{font-size:.58rem;padding-inline:6px}.profile-card dl{gap:8px}.profile-card dl div{padding:12px 10px}.profile-card dt{min-height:2.3em;line-height:1.15}.appearance-grid{grid-template-columns:1fr}.appearance-grid .effect-preview{grid-column:1;grid-row:auto;min-height:88px}.settings-section{padding:14px}}
@media(prefers-reduced-motion:reduce){.nickname-style{animation:none!important;background-position:52% 0}}

/* Social profile, multi-tag discovery and per-part download controls. */
.profile-card{max-width:1080px}.profile-card>.user-avatar{width:96px;height:96px;border-radius:28px;font-size:2.4rem}.profile-card dl button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.profile-card dl div:has(button){transition:transform .16s ease,box-shadow .16s ease}.profile-card dl div:has(button):hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(5,5,18,.2)}
.public-profile-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px;border:1px solid rgba(112,206,255,.28);border-radius:22px;background:linear-gradient(135deg,rgba(109,68,202,.2),rgba(25,152,190,.08));box-shadow:inset 0 1px rgba(255,255,255,.08),0 18px 42px rgba(3,5,18,.22)}.public-profile-hero>.user-avatar{width:112px;height:112px;border-radius:34px;font-size:2.8rem}.public-profile-hero h3{margin:9px 0 5px;font-size:1.45rem}.public-message-button{align-self:center;border-color:rgba(91,219,255,.45);background:linear-gradient(135deg,rgba(129,73,225,.34),rgba(38,190,219,.2))}.public-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.public-profile-stats button{display:grid;gap:4px;padding:14px;border:1px solid rgba(142,116,196,.25);border-radius:15px;background:rgba(255,255,255,.035);color:var(--muted);text-align:left}.public-profile-stats button[aria-pressed=true]{border-color:#8edcff;background:linear-gradient(135deg,rgba(125,76,218,.24),rgba(46,189,218,.12));color:#fff}.public-profile-stats strong{font-size:1.35rem;color:var(--text)}
.public-game-link{display:flex;align-items:center;gap:12px}.public-game-link img{width:58px;height:72px;border-radius:11px;object-fit:cover;background:#151523}.public-game-link span,.public-game-link strong,.public-game-link small{display:block}.public-game-link span{min-width:0}.public-game-link strong{overflow:hidden;text-overflow:ellipsis}.public-game-link small{margin-top:5px;color:var(--muted)}
.nickname-preview{overflow:visible}.nickname-style{padding-inline:3px;margin-inline:-3px}.nickname-fire,.nickname-frost,.nickname-neon{animation-direction:alternate}.nickname-fire{animation-direction:alternate,alternate}
.active-tag-filters{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;border:1px solid rgba(122,210,255,.2);border-radius:15px;background:rgba(21,20,39,.78)}.active-tag-filters span{color:var(--muted);font-size:.78rem}.active-tag-filters button{min-height:32px;padding:5px 10px;border-radius:999px}.active-tag-filters .add-tag-filter{border-color:rgba(81,215,255,.48);background:linear-gradient(135deg,rgba(116,76,224,.22),rgba(43,190,220,.13));color:#b9efff;font-weight:850}.active-tag-filters .add-tag-filter:hover{border-color:#62ddff;color:#fff;box-shadow:0 0 16px rgba(70,207,255,.16)}.tag-choice{position:relative;display:inline-block;max-width:100%}.tag-choice>button:first-child{width:100%;padding-right:41px!important}.tag-heart{position:absolute;z-index:2;top:50%;right:5px;display:grid!important;place-items:center!important;justify-content:center!important;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;padding:0!important;border:1px solid rgba(255,169,63,.5)!important;border-radius:8px!important;background:linear-gradient(145deg,rgba(255,169,63,.16),rgba(255,111,45,.08))!important;color:#ffae45!important;line-height:1!important;box-shadow:inset 0 1px rgba(255,255,255,.08);transform:translateY(-50%)}.tag-heart>span{display:block;overflow:visible!important;font-family:Arial,sans-serif!important;font-size:1.05rem!important;font-weight:700!important;line-height:1!important;transform:translateY(-.5px)}.tag-heart:hover{border-color:#ffc069!important;color:#ffc66f!important;box-shadow:0 0 15px rgba(255,143,45,.22)}.tag-heart.active{border-color:rgba(255,190,83,.78)!important;background:linear-gradient(145deg,#ffbd4a,#f16c2f)!important;color:#fff4d4!important;box-shadow:inset 0 1px rgba(255,255,255,.3),0 0 15px rgba(255,126,42,.3)!important}.favorite-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 18px}.favorite-tags button{color:#ffc16d;border-color:rgba(255,159,65,.4);background:rgba(190,84,36,.13)}
.mirror-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.mirror-mark{display:grid;place-items:center;width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border:1px solid rgba(150,137,190,.34);border-radius:12px;background:rgba(255,255,255,.035);color:rgba(216,208,235,.36);box-shadow:inset 0 1px rgba(255,255,255,.05);transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.mirror-mark span{font-size:1.05rem;font-weight:950;line-height:1}.mirror-mark:hover{border-color:rgba(141,211,255,.62);color:#dff7ff;transform:translateY(-1px)}.mirror-mark.active{border-color:rgba(72,218,164,.62);background:linear-gradient(145deg,rgba(43,157,112,.3),rgba(38,205,151,.16));color:#baffdf;box-shadow:inset 0 1px rgba(255,255,255,.12),0 0 16px rgba(48,218,155,.15)}.mirror-mark:disabled{cursor:wait;opacity:.58;transform:none}
.chat-trigger{position:fixed;z-index:32;left:18px;top:50%;display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 12px;border:1px solid rgba(107,218,255,.4);border-radius:15px;background:linear-gradient(145deg,rgba(102,61,197,.92),rgba(25,116,158,.92));color:#fff;box-shadow:0 14px 38px rgba(1,4,18,.4),0 0 20px rgba(92,91,255,.16);transform:translateY(-50%)}.chat-trigger span{color:#8deaff}.chat-trigger.has-unread{border-color:rgba(255,98,115,.75);box-shadow:0 14px 38px rgba(1,4,18,.4),0 0 22px rgba(255,70,101,.28)}.chat-unread{position:absolute;top:-9px;right:-9px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border:2px solid #111322;border-radius:999px;background:#ff405e;color:#fff;font-size:.66rem;font-style:normal;font-weight:900;line-height:1;box-shadow:0 4px 14px rgba(255,53,88,.45)}.chat-unread[hidden]{display:none}.chat-drawer{position:fixed;z-index:45;left:14px;top:14px;bottom:14px;width:min(390px,calc(100vw - 28px));padding:0;border:1px solid rgba(112,207,255,.3);border-radius:24px;background:linear-gradient(155deg,rgba(25,20,49,.98),rgba(8,13,25,.99));box-shadow:0 30px 100px rgba(0,0,0,.65),inset 0 1px rgba(255,255,255,.09);overflow:hidden}.chat-drawer[hidden]{display:none}.chat-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.chat-drawer h2{margin:2px 0 0;font-size:1.1rem}.chat-drawer header small{color:#8de5ff;font-weight:850;letter-spacing:.12em}.chat-drawer header button{width:38px;height:38px;padding:0}.chat-body{height:calc(100% - 72px);padding:14px;overflow:auto}.chat-list{display:grid;gap:8px}.chat-list>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;text-align:left}.chat-list .user-avatar{width:48px;height:48px;border-radius:15px}.chat-list span{min-width:0}.chat-list strong,.chat-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list small{margin-top:5px;color:var(--muted)}.chat-list i{font-size:1.4rem}.chat-list .chat-list-unread{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:#ff405e;color:#fff;font-size:.7rem;font-style:normal;font-weight:900}.chat-empty{text-align:center;padding:55px 20px;color:var(--muted)}.chat-empty>b{font-size:2rem;color:#9d7cff}.chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-toolbar>span{color:var(--muted);font-size:.72rem}.chat-toolbar button{min-height:36px;padding:7px 10px}.chat-messages{display:flex;flex-direction:column;gap:8px;height:calc(100% - 165px);min-height:240px;margin:10px 0;padding:8px;overflow:auto}.chat-message{align-self:flex-start;max-width:84%;padding:9px 11px;border:1px solid rgba(145,116,198,.24);border-radius:15px 15px 15px 4px;background:rgba(255,255,255,.055)}.chat-message.mine{align-self:flex-end;border-color:rgba(83,207,239,.3);border-radius:15px 15px 4px 15px;background:linear-gradient(135deg,rgba(111,71,208,.28),rgba(39,165,193,.14))}.chat-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message small{display:block;margin-top:5px;color:var(--muted);font-size:.65rem;text-align:right}.read-receipt{margin-left:3px;color:#85869a;font-weight:900;letter-spacing:-.14em}.read-receipt.read{color:#48cfff}.chat-body form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.chat-body textarea{min-height:46px;max-height:110px;margin:0;padding:10px;border:1px solid #4c405f;border-radius:13px;background:#11121e;color:#fff;resize:vertical}.chat-body form p{grid-column:1/-1;margin:0;color:#ffb2c4}.chat-older{width:100%;margin-top:9px}
.chat-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px;padding:4px;border:1px solid rgba(144,118,193,.2);border-radius:14px;background:rgba(4,6,15,.42)}.chat-mode-tabs button{min-height:38px;border:0;background:transparent;color:var(--muted)}.chat-mode-tabs button[aria-pressed=true]{background:linear-gradient(135deg,rgba(133,75,225,.45),rgba(44,187,218,.22));color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.1),0 6px 18px rgba(2,5,20,.25)}.chat-loading{padding:50px 10px;text-align:center;color:var(--muted)}.global-chat-messages{height:calc(100% - 150px);margin-top:4px}.global-message{align-self:stretch;max-width:100%;border-radius:16px;padding:10px 12px}.global-message.mine{align-self:stretch;border-radius:16px}.global-message>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.global-message>header>button:first-child,.global-message>header>span:first-child{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left}.global-message header .user-avatar{width:30px;height:30px;border-radius:10px;font-size:.72rem}.global-message header .nickname-style{font-size:.76rem}.global-message-actions{display:flex;align-items:center;gap:5px;flex:none}.global-message .chat-delete,.global-message .chat-profile-jump{flex:none;width:26px;height:26px;padding:0;border:0}.global-message .chat-delete{background:rgba(255,91,125,.08);color:#d88a9c}.global-message .chat-profile-jump{background:rgba(83,203,242,.08);color:#8ce8ff}.chat-unavailable{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;color:var(--muted);text-align:center}.crypto-unavailable{opacity:.62!important;cursor:not-allowed}
@media(max-width:700px){.profile-card>.user-avatar{width:82px;height:82px;border-radius:25px}.public-profile-hero{grid-template-columns:auto 1fr;padding:16px;gap:14px}.public-profile-hero>.user-avatar{width:88px;height:88px;border-radius:27px}.public-profile-hero .public-message-button{grid-column:1/-1;width:100%}.public-profile-stats{gap:6px}.public-profile-stats button{padding:10px}.chat-trigger{left:10px;top:auto;bottom:calc(76px + var(--safe-bottom));transform:none}.chat-trigger b{display:none}.chat-drawer{left:6px;right:6px;top:auto;bottom:6px;width:auto;height:min(76vh,690px);border-radius:24px}.mirror-mark{width:42px}}
.video-avatar-preview{display:grid;place-items:center;margin:18px auto}.video-avatar-preview video{width:240px;height:240px;object-fit:cover;border:2px solid #79ddff;border-radius:50%;background:#090a13;box-shadow:0 18px 50px rgba(0,0,0,.3),0 0 30px rgba(116,77,255,.2)}.avatar-upload-hint{display:block;max-width:560px;color:var(--muted);font-size:.72rem;line-height:1.5}
.admin-branding-editor{max-width:680px}.admin-branding-editor>p{color:var(--muted);line-height:1.6}.admin-branding-editor form{display:grid;gap:14px}.admin-branding-editor label{display:grid;gap:7px}.admin-branding-editor input[type=color]{width:100%;height:48px;padding:5px;border:1px solid #4c405f;border-radius:12px;background:#0e0d17}.branding-preview{padding:24px;border:1px solid rgba(99,213,255,.28);border-radius:18px;background:linear-gradient(135deg,#171029,#071629);text-align:center}.branding-preview strong{display:block;font-size:1.7rem;letter-spacing:.06em}.branding-preview small{display:block;margin-top:8px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.admin-branding-editor [data-branding-status]{min-height:22px;color:#a9edcf}
.page-progress{position:fixed;z-index:1000;top:0;left:0;width:100%;height:3px;pointer-events:none;opacity:0;overflow:hidden;transition:opacity .18s ease}.page-progress i{display:block;width:38%;height:100%;transform:translateX(-110%);border-radius:0 999px 999px 0;background:linear-gradient(90deg,#39dfff,#a660ff,#ff62bd);box-shadow:0 0 14px #5fe4ff,0 0 24px rgba(169,76,255,.7)}.page-progress.active{opacity:1}.page-progress.active i{animation:page-progress-run 1.05s cubic-bezier(.4,0,.2,1) infinite}.page-progress.finishing{opacity:0}.page-progress.finishing i{width:100%;transform:none;animation:none;transition:width .18s ease}.copy-profile-id{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:5px 8px;border:1px solid rgba(112,205,255,.2);border-radius:9px;background:rgba(78,164,205,.07);color:var(--muted);font:inherit;font-size:.72rem}.copy-profile-id:hover{border-color:rgba(116,220,255,.5);color:#dff8ff}.copy-profile-id code{overflow:hidden;text-overflow:ellipsis}.copy-profile-id span{color:#73dbff}.premium-card>.copy-profile-id{margin-bottom:4px}.public-copy-id{margin-top:5px}
@keyframes page-progress-run{0%{transform:translateX(-110%)}55%{transform:translateX(95%)}100%{transform:translateX(280%)}}
.chat-mode-tabs button.is-closed{opacity:1;color:#d7cfd9;cursor:not-allowed}.chat-mode-tabs button.is-closed small{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:999px;background:rgba(255,70,95,.14);color:#ff667e;font-size:.68rem;font-weight:800;text-transform:uppercase}
/* Keep this last: older responsive rules above must not shrink the profile portrait. */
@media(max-width:600px){.profile-card{--profile-avatar-size:clamp(86px,25vw,100px);grid-template-columns:var(--profile-avatar-size) minmax(0,1fr);align-items:start;margin-inline:8px;width:calc(100% - 16px);padding:20px 16px 18px}.profile-card>.user-avatar{width:var(--profile-avatar-size);height:var(--profile-avatar-size);aspect-ratio:1;border-radius:28%;align-self:start;overflow:hidden}.profile-card>.photo-avatar img,.profile-card>.photo-avatar video{width:100%;height:100%;object-fit:cover}.profile-identity{padding-top:0}.profile-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-card dt{min-height:2.3em;line-height:1.15}}@media(max-width:370px){.profile-card{--profile-avatar-size:82px;gap:10px;padding-inline:12px}.profile-badges .rank-badge,.profile-badges .special-badge{font-size:.54rem}.nickname-customize{font-size:.62rem}}

/* Soft sliding navigation state. */
.bottom-nav{--active-index:0;isolation:isolate;overflow:hidden}.bottom-nav::before{content:"";position:absolute;z-index:0;top:7px;bottom:7px;left:7px;width:calc((100% - 14px)/4);border:1px solid rgba(151,105,255,.13);border-radius:16px;background:linear-gradient(135deg,rgba(124,77,255,.25),rgba(54,217,255,.09));box-shadow:inset 0 1px rgba(255,255,255,.055),0 7px 22px rgba(75,48,173,.11);transform:translateX(calc(var(--active-index)*100%));transition:transform .34s cubic-bezier(.22,.8,.24,1),background .24s ease}.bottom-nav .nav-item{position:relative;z-index:1;transition:color .22s ease,transform .22s ease}.bottom-nav .nav-item.active{background:transparent;transform:translateY(-1px)}.bottom-nav .nav-item>span{transition:transform .28s cubic-bezier(.2,.8,.25,1),filter .22s ease}.bottom-nav .nav-item.active>span{transform:scale(1.08);filter:drop-shadow(0 0 7px rgba(146,109,255,.42))}@media(prefers-reduced-motion:reduce){.bottom-nav::before,.bottom-nav .nav-item,.bottom-nav .nav-item>span{transition:none!important}.bottom-nav .nav-item.active{transform:none}}

/* Portrait effects follow the avatar shape without rotating away from the photo. */
.effect-preview>.user-avatar{margin-inline:auto;transform:none}.avatar-effect.photo-avatar>img,.avatar-effect.photo-avatar>video{display:block;object-position:50% 50%}.effect-fire,.effect-water{border-color:transparent}.effect-fire::before,.effect-water::before{inset:-4px;transform:none;filter:none;background:none}.effect-fire{box-shadow:0 0 0 2px rgba(255,119,37,.88),0 0 14px rgba(255,66,29,.48),inset 0 0 10px rgba(255,151,45,.12);animation:fire-glow 2.4s ease-in-out infinite}.effect-fire::before{border:2px solid #ff8a2d;box-shadow:inset 0 0 5px #ffd65c,0 0 8px rgba(255,61,24,.5);animation:fire-ring 2.4s ease-in-out infinite}.effect-fire::after{content:"";position:absolute;z-index:2;inset:auto auto -8px 15%;width:4px;height:4px;border-radius:50%;background:#ffd45b;box-shadow:17px -2px 0 #ff7b28,36px 1px 0 #ffcf55,49px -4px 0 #ff5b2b;filter:drop-shadow(0 0 4px #ff4f20);animation:fire-embers 1.8s ease-in-out infinite;pointer-events:none}.effect-water{box-shadow:0 0 0 2px rgba(76,222,255,.9),0 0 15px rgba(40,167,255,.42),inset 0 0 10px rgba(90,238,255,.12)}.effect-water::before{border:2px solid #6eeaff;box-shadow:inset 0 0 5px rgba(194,251,255,.85),0 0 9px rgba(65,180,255,.45);animation:water-ring 3.2s ease-in-out infinite}.effect-water::after{content:"";position:absolute;z-index:2;inset:-7px;border:1px solid rgba(133,239,255,.65);border-radius:inherit;animation:water-ripple 3.2s ease-out infinite;pointer-events:none}@keyframes fire-glow{50%{box-shadow:0 0 0 2px rgba(255,178,48,.95),0 0 19px rgba(255,64,25,.6),inset 0 0 12px rgba(255,178,52,.16)}}@keyframes fire-ring{50%{border-color:#ffd35a;box-shadow:inset 0 0 7px #ff8a2c,0 0 12px rgba(255,57,25,.62)}}@keyframes fire-embers{50%{opacity:.42;transform:translateY(-7px) scale(.75)}}@keyframes water-ring{50%{border-color:#9cf7ff;box-shadow:inset 0 0 7px #4ccfff,0 0 14px rgba(62,119,255,.52)}}@keyframes water-ripple{0%{opacity:.7;transform:scale(.94)}70%,100%{opacity:0;transform:scale(1.09)}}@media(prefers-reduced-motion:reduce){.effect-fire,.effect-fire::before,.effect-fire::after,.effect-water::before,.effect-water::after{animation:none!important}}

/* Profile settings: keep the live avatar preview central and make each control read as one step. */
.appearance-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px}.appearance-grid .effect-preview{grid-column:1/-1;grid-row:auto;min-height:132px;padding:24px;margin:0;border-color:rgba(112,207,255,.25);background:radial-gradient(circle at 50% 48%,rgba(101,71,188,.2),rgba(5,9,21,.56) 64%)}.appearance-grid .effect-preview .user-avatar{width:84px;height:84px;font-size:2.2rem}.appearance-grid .nickname-preview{grid-column:1/-1;min-height:64px;margin:0;display:grid;place-items:center}.appearance-settings .avatar-effect:not(.photo-avatar){box-shadow:inset 0 1px rgba(255,255,255,.16),0 10px 25px rgba(0,0,0,.26)}.privacy-options .setting-check{margin:0;transition:border-color .16s ease,background .16s ease,transform .16s ease}.privacy-options .setting-check:hover{transform:translateY(-1px)}.profile-settings-form>[data-save-settings]{width:100%;min-height:52px;border-color:rgba(139,219,255,.55);background:linear-gradient(120deg,#7644cf,#4e6be6 52%,#28aaca);box-shadow:0 12px 28px rgba(73,78,214,.23);font-weight:850}.trial-success{display:grid;justify-items:center;gap:14px;padding:34px 28px;text-align:center}.trial-success-mark{display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(161,236,255,.65);border-radius:26px;background:linear-gradient(135deg,#7550df,#36bce2);box-shadow:0 18px 48px rgba(70,119,235,.34),0 0 30px rgba(67,207,232,.16);color:#fff;font-size:2.2rem;font-weight:900;animation:trial-success-pop .42s cubic-bezier(.2,.9,.25,1.25)}.trial-success small{color:#bba2ff;font-weight:900;letter-spacing:.12em}.trial-success h2{margin:0;font-size:1.65rem}.trial-success p{max-width:420px;margin:0;color:#c1bbcb;line-height:1.65}.trial-success>strong{color:#d9c3ff}.trial-success>a{margin-bottom:4px}@keyframes trial-success-pop{from{opacity:0;transform:scale(.68) rotate(-8deg)}to{opacity:1;transform:none}}@media(max-width:600px){.appearance-grid{grid-template-columns:1fr}.appearance-grid .effect-preview,.appearance-grid .nickname-preview{grid-column:1}.appearance-grid .effect-preview{min-height:120px;grid-row:auto}.appearance-grid>label:first-child{grid-row:2}.appearance-grid>label:nth-of-type(2){grid-row:3}.appearance-grid .nickname-preview{grid-row:4}.trial-success{padding:28px 18px}}


/* Unified TELLYGAME scrollbars for the page, sheets, dialogs and rails. */
html,*{scrollbar-width:thin;scrollbar-color:#7655b8 #11111b}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#11111b;border-radius:999px}::-webkit-scrollbar-thumb{min-height:38px;border:2px solid #11111b;border-radius:999px;background:linear-gradient(180deg,#8f68dc,#367fa4);box-shadow:inset 0 1px rgba(255,255,255,.18)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ad82f5,#46b8d7)}::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#c39cff,#58d5eb)}::-webkit-scrollbar-corner{background:#11111b}

/* Decorative layers must never intercept profile or navigation controls. */
.bottom-nav::before,.profile-card::before{pointer-events:none}.profile-card{isolation:isolate}.profile-card>*{position:relative;z-index:1}

/* A wide, borderless launch lockup on desktop and a compact stack on phones. */
@media(min-width:601px){.splash-glow{width:min(80vw,900px);filter:blur(20px)}.splash::before{width:min(88vw,980px);height:min(36vw,390px)}.splash::after{width:min(48vw,500px)}.splash-content{width:min(88vw,840px);padding:32px;display:grid;grid-template-columns:158px minmax(0,1fr);grid-template-areas:"icon brand" "icon tagline" "icon progress" "icon meta";column-gap:44px;justify-items:start;align-items:center;background:transparent;border:0;box-shadow:none;backdrop-filter:none}.splash-content::before{content:none}.splash-icon{grid-area:icon;align-self:center;width:158px;height:158px;margin:0;border-radius:45px;box-shadow:0 0 0 1px rgba(137,224,255,.5),0 0 46px rgba(55,209,255,.25),0 32px 92px rgba(118,65,255,.46)}.splash-brand{grid-area:brand;justify-content:flex-start;font-size:clamp(4.35rem,6.5vw,5.65rem);line-height:.94}.splash-content>p{grid-area:tagline;margin:8px 0 3px;text-align:left;font-size:1.03rem;letter-spacing:.025em;color:#c4bdd2}.splash-progress{grid-area:progress;width:310px;height:5px;margin:18px 0 0}.splash-meta{grid-area:meta;justify-content:flex-start;gap:12px;margin-top:12px;font-size:.78rem;color:#a39bae}.splash-meta .splash-age{min-width:38px;height:25px;border-color:rgba(183,165,223,.34);font-size:.68rem}}
@media(max-width:600px){.splash-content{width:min(91vw,390px);padding:32px 22px}.splash-brand{font-size:clamp(2.55rem,13vw,3.35rem)}.splash-progress{width:170px}.splash-content>p{font-size:.82rem}.splash-meta{font-size:.67rem}}

/* Use large desktop displays, including the space beside an open chat drawer. */
@media(min-width:1200px){html{font-size:17px}body{font-size:17px}.app-shell{width:100%;max-width:none;padding-right:calc(40px + var(--safe-right));padding-left:calc(40px + var(--safe-left));transition:width .24s ease,margin .24s ease,padding .24s ease,opacity .3s ease}.platforms{margin-inline:-40px;padding-inline:40px}.game-sheet{width:min(960px,calc(100vw - 64px))}.detail-page .game-sheet{max-width:1360px}.bottom-nav{max-width:1600px;min-height:80px;padding:9px;border-radius:25px;transition:left .24s ease,right .24s ease,max-width .24s ease}.bottom-nav::before{top:9px;bottom:9px;left:9px;width:calc((100% - 18px)/4);border-radius:18px}.bottom-nav .nav-item{gap:4px;border-radius:18px;font-size:.78rem}.bottom-nav .nav-item>span{font-size:1.35rem}.eyebrow{font-size:.78rem}.catalog-intro{max-width:1000px;font-size:.92rem}.catalog-tabs button{min-height:46px;padding-inline:17px;font-size:.82rem}.chip{min-height:44px;padding-inline:16px;font-size:.9rem}.new-releases h2,.section-heading h2{font-size:1.38rem}.new-releases>header button,.popular-heading button{font-size:.8rem}.release-card{min-height:78px;padding:10px}.release-card strong{font-size:.84rem}.release-card small{font-size:.72rem}.game-info h3{font-size:1rem}.developer{font-size:.8rem}.version,.updated,.apk-badge,.rating-pill{font-size:.72rem}.chat-open .app-shell{width:calc(100% - 420px);max-width:none;margin-left:410px;margin-right:10px;padding-left:30px;padding-right:30px}.chat-open .bottom-nav{left:410px;right:18px;max-width:none}}
@media(min-width:1320px){.game-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}}
@media(min-width:1600px){.game-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}}

/* Make account controls readable and comfortable on desktop. */
.topbar .topbar-actions{gap:10px;padding:9px;border-color:rgba(125,204,255,.16);border-radius:22px;background:linear-gradient(135deg,rgba(10,12,29,.82),rgba(11,17,32,.72));box-shadow:inset 0 1px rgba(255,255,255,.07),0 14px 34px rgba(1,4,16,.2)}
.topbar .language-trigger,.topbar .tags-button{height:50px;min-height:50px;padding-inline:15px;border-radius:15px;font-size:.82rem;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.topbar .language-trigger:hover,.topbar .tags-button:hover{transform:translateY(-1px);border-color:rgba(105,224,255,.58);background:linear-gradient(135deg,rgba(127,80,244,.26),rgba(48,196,230,.15))}
.topbar .language-trigger:active,.topbar .tags-button:active{transform:translateY(0) scale(.97)}
.topbar .avatar:not(.guest-login){display:grid;width:auto;min-width:204px;height:76px;padding:6px 13px 6px 6px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;overflow:visible;border-color:rgba(122,218,255,.3);border-radius:22px;background:linear-gradient(135deg,rgba(126,78,236,.22),rgba(35,163,202,.12));box-shadow:inset 0 1px rgba(255,255,255,.08),0 12px 30px rgba(19,42,103,.2);text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.topbar .avatar:not(.guest-login):hover{transform:translateY(-1px);border-color:rgba(112,225,255,.58);background:linear-gradient(135deg,rgba(131,81,245,.31),rgba(41,181,218,.18))}
.topbar .avatar:not(.guest-login):active{transform:translateY(0) scale(.98)}
.topbar .avatar:not(.guest-login) .user-avatar{width:64px;height:64px;border-radius:19px;box-shadow:0 10px 26px rgba(10,12,30,.4)}
.profile-shortcut-text{display:grid;min-width:0;gap:3px}.profile-shortcut-text small{color:#8fdff3;font-size:.58rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.profile-shortcut-text b{max-width:120px;overflow:hidden;color:#f5f2fb;font-size:.82rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.profile-shortcut-arrow{color:#a7a0b9;font-size:1.3rem;font-style:normal;line-height:1}
.topbar .avatar.guest-login{min-height:50px;padding-inline:18px;border-radius:15px}
@media(max-width:700px){.topbar .topbar-actions{gap:6px;padding:5px;border-radius:17px}.topbar .language-trigger,.topbar .tags-button{height:44px;min-height:44px;padding-inline:10px;border-radius:12px;font-size:.74rem}.topbar .avatar:not(.guest-login){display:grid;width:52px;min-width:52px;height:52px;padding:4px;grid-template-columns:1fr;border-radius:15px}.topbar .avatar:not(.guest-login) .user-avatar{width:44px;height:44px;border-radius:12px}.profile-shortcut-text,.profile-shortcut-arrow{display:none}.topbar .avatar.guest-login{min-height:44px;padding-inline:13px}}

/* Let the profile use the same generous desktop canvas as the catalog. */
@media(min-width:960px){
  .profile-card{width:100%;max-width:none;padding:clamp(32px,2.5vw,44px);grid-template-columns:clamp(116px,8.5vw,144px) minmax(0,1fr);gap:clamp(24px,2vw,34px);border-radius:28px}
  .profile-card>.user-avatar{width:100%;height:auto;aspect-ratio:1;border-radius:30px;font-size:3rem;box-shadow:0 18px 46px rgba(3,5,22,.38)}
  .profile-identity{gap:7px}.profile-badges{gap:8px;min-height:29px}.profile-badges .rank-badge,.profile-badges .special-badge{min-height:27px;padding:5px 10px;font-size:.68rem}
  .profile-name-row{gap:10px;min-height:42px}.profile-name-row h3{font-size:clamp(1.3rem,1.55vw,1.62rem)}.profile-identity>small{font-size:.82rem;line-height:1.35}
  .nickname-edit{width:34px;height:34px;min-height:34px}.nickname-edit svg{width:16px;height:16px}.nickname-customize{height:36px;min-height:36px;padding-inline:14px;font-size:.76rem}
  .profile-card dl{gap:14px;margin-top:4px}.profile-card dl div{display:grid;align-content:center;min-height:86px;padding:18px 20px;border-radius:19px}.profile-card dt{font-size:.82rem}.profile-card dd{margin-top:6px;font-size:1.62rem}
  .telegram-connection{gap:15px;min-height:76px;padding:15px 18px;border-radius:19px}.telegram-mark{width:48px;height:48px;border-radius:15px;font-size:1rem}.telegram-connection div{gap:4px}.telegram-connection strong{font-size:1rem}.telegram-connection small{font-size:.76rem}.telegram-connection>b{font-size:1.45rem}.telegram-connection button,.connection-link{min-height:42px;padding-inline:16px}
  .premium-card{gap:14px;padding:22px;border-radius:21px}.premium-card>div span{font-size:1.02rem}.premium-card>div strong{font-size:.9rem}.premium-card p{max-width:1100px;font-size:.88rem}.premium-card button{min-height:52px;font-size:.9rem}.premium-card>.copy-profile-id{min-height:34px;padding:7px 10px;font-size:.76rem}
  .profile-community-actions{gap:12px}.profile-community-actions button{min-height:48px;padding-inline:18px}.profile-form{gap:18px}.profile-form fieldset,.avatar-upload{padding:20px;border-radius:20px}.logout-button{min-height:52px;border-radius:16px}
}

/* Keep the dock glassy over every page without a solid rectangular plate around it. */
.bottom-nav{border-color:rgba(143,191,255,.18);background:linear-gradient(135deg,rgba(27,25,47,.84),rgba(14,24,39,.8));box-shadow:0 24px 58px rgba(0,0,0,.44),0 0 34px rgba(85,75,190,.1),inset 0 1px rgba(255,255,255,.09),inset 0 -1px rgba(73,207,240,.055);backdrop-filter:blur(24px) saturate(1.18);-webkit-backdrop-filter:blur(24px) saturate(1.18)}
html.telegram-app .bottom-nav{background:linear-gradient(135deg,rgba(27,25,47,.94),rgba(14,24,39,.93));box-shadow:0 20px 52px rgba(0,0,0,.4),0 0 30px rgba(85,75,190,.09),inset 0 1px rgba(255,255,255,.09)}
@media(min-width:1200px){.app-shell{padding-bottom:calc(126px + var(--safe-bottom))}}

/* Clear review identity hierarchy: name, rank/badge, reputation. */
.review header{grid-template-columns:58px minmax(0,1fr) auto;align-items:start;gap:13px}.review header>.user-avatar{width:54px;height:54px;border-radius:17px;font-size:1.2rem}.review-author{display:grid;align-content:start;justify-items:start;gap:5px;min-width:0}.review-author-name{display:block;max-width:100%;font-size:1.06rem!important;font-weight:900!important;line-height:1.2;text-align:left;overflow-wrap:anywhere}.review-author-name .nickname-style{white-space:normal}.review-author-badges{display:flex;align-items:center;gap:6px;max-width:100%;flex-wrap:wrap}.review-author-badges .rank-badge,.review-author-badges .special-badge{min-height:21px;margin:0;padding:3px 8px;line-height:1}.review-author>small{color:var(--muted);font-size:.69rem}.review-rating{padding-top:2px;white-space:nowrap;font-size:.88rem}.review>p{margin-top:15px}@media(max-width:600px){.review{padding:12px}.review header{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.review header>.user-avatar{width:46px;height:46px;border-radius:14px}.review-author{gap:4px}.review-author-name{font-size:.92rem!important}.review-author-badges{gap:4px}.review-author-badges .rank-badge,.review-author-badges .special-badge{max-width:100%;padding:3px 6px;font-size:.57rem}.review-author>small{font-size:.62rem}.review-rating{font-size:.76rem}.review footer{align-items:flex-end;flex-wrap:wrap}}@media(max-width:350px){.review header{grid-template-columns:42px minmax(0,1fr)}.review header>.user-avatar{width:40px;height:40px}.review-rating{grid-column:2;grid-row:2;justify-self:start;padding:0}.review-author-badges .rank-badge,.review-author-badges .special-badge{font-size:.54rem}}

/* Never split review nicknames letter by letter. */
.review-author{width:100%}.review-author-name{width:100%;min-width:0;overflow:hidden;overflow-wrap:normal!important}.review-author-name .nickname-style{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}

/* Keep animated nickname glow on the glyphs instead of a full-width rectangle. */
.review-author-name{white-space:nowrap;text-overflow:ellipsis;line-height:1.25}.review-author-name .nickname-style{display:inline-block;width:auto;max-width:none;overflow:visible;padding:2px 4px;margin:-2px -4px;line-height:1.25;vertical-align:baseline}

/* Animated and gradient lettering needs a small paint gutter so the final glyph and glow stay intact. */
.nickname-style{box-sizing:border-box;padding:.1em .22em .17em;margin:-.1em -.22em -.17em;overflow:visible;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.profile-name-row .nickname-style{max-width:calc(100% + .44em);padding-right:.22em;margin-right:-.22em}
.review-author-name .nickname-style{padding:.1em .22em .17em;margin:-.1em -.22em -.17em}

/* Keep the masthead accent inside its rounded edge; a blurred 1px line used to leak below it. */
.topbar::after{left:11%;right:11%;bottom:0;height:9px;opacity:.62;background:radial-gradient(ellipse at 50% 100%,rgba(96,226,255,.56) 0,rgba(158,83,255,.22) 34%,transparent 72%);background-size:100% 100%;box-shadow:none;filter:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18% 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18% 82%,transparent)}

/* Give gallery controls stable columns and move them below Telegram's top-right menu overlay. */
.viewer-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.viewer-pagination{justify-self:start}.viewer-toolbar>span{justify-self:center}.viewer-toolbar>div:last-child{justify-self:end}
html.telegram-app .viewer-toolbar{padding-top:calc(62px + var(--safe-top))}
@media(max-width:600px){.viewer-toolbar{grid-template-columns:minmax(0,1fr) auto;flex-wrap:nowrap}.viewer-toolbar>span{display:none}.viewer-toolbar button{padding-inline:11px}.viewer-pagination{gap:5px}}

/* Draw the rank arrow geometrically instead of relying on a font baseline. */
.rank-progress-trigger i{font-size:0!important;line-height:0}.rank-progress-trigger i::before{content:"";display:block;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateX(-1px) rotate(-45deg)}
@media(max-width:600px){.rank-progress-trigger i::before{width:4px;height:4px}}

.chat-body:has(.chat-messages)>.chat-mode-tabs{grid-row:1}.chat-body:has(.chat-messages)>.chat-toolbar{grid-row:2}.chat-body:has(.chat-messages)>.chat-messages{grid-row:3}.chat-body:has(.chat-messages)>form,.chat-body:has(.chat-messages)>.chat-unavailable{grid-row:4}.chat-body:has(.global-chat-messages){grid-template-rows:auto minmax(0,1fr) auto}.chat-body:has(.global-chat-messages)>.global-chat-messages{grid-row:2}.chat-body:has(.global-chat-messages)>form,.chat-body:has(.global-chat-messages)>.chat-unavailable{grid-row:3}

/* Keep the composer fixed while only the message history scrolls. */
.chat-body:has(.chat-messages){display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:calc(100% - 72px);padding:14px;overflow:hidden}.chat-body:has(.chat-messages)>.chat-older{position:absolute;z-index:2;top:146px;left:50%;width:auto;margin:0;transform:translateX(-50%)}.chat-body:has(.chat-messages)>.chat-messages{height:auto;min-height:0;margin:10px 0 8px;padding:8px 4px 8px 2px;overscroll-behavior:contain;scrollbar-gutter:stable}.chat-body:has(.chat-messages)>form{position:relative;z-index:3;margin:0;padding:9px;border:1px solid rgba(129,106,184,.3);border-radius:17px;background:rgba(10,11,24,.96);box-shadow:0 -12px 34px rgba(4,5,16,.38)}.chat-body:has(.chat-messages)>form textarea{min-height:48px;padding:13px 14px;border-color:rgba(135,115,180,.42);border-radius:13px;resize:none}.chat-body:has(.chat-messages)>form>button{min-width:104px;padding:0 17px;border:1px solid rgba(135,224,255,.55);border-radius:13px;background:linear-gradient(135deg,#7549d2,#347ec8 58%,#24a8c4);color:#fff;font-weight:850;box-shadow:0 8px 22px rgba(57,89,207,.25);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.chat-body:has(.chat-messages)>form>button:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 11px 26px rgba(52,125,211,.34)}.chat-body:has(.chat-messages)>form>button:disabled{opacity:.58;transform:none}.chat-message-row{display:flex;align-items:flex-end;gap:7px;align-self:flex-start;max-width:88%}.chat-message-row.mine{align-self:flex-end;justify-content:flex-end}.chat-message-row>.user-avatar{flex:0 0 28px;width:28px;height:28px;margin-bottom:2px;border-radius:9px;font-size:.68rem}.chat-message-row>.chat-message{align-self:auto;max-width:100%}.chat-message-row.mine>.chat-message{align-self:auto}@media(max-width:600px){.chat-body:has(.chat-messages){padding:10px}.chat-body:has(.chat-messages)>form{grid-template-columns:minmax(0,1fr) 46px;padding:7px}.chat-body:has(.chat-messages)>form>button{min-width:46px;width:46px;padding:0;font-size:0}.chat-body:has(.chat-messages)>form>button::after{content:'➤';font-size:1rem}.chat-message-row{max-width:91%}}
/* Global chat has no peer toolbar, so its history occupies the middle row. */
.chat-body:has(.global-chat-messages){grid-template-rows:auto minmax(0,1fr) auto}.chat-body:has(.global-chat-messages)>.global-chat-messages{grid-row:2}.chat-body:has(.global-chat-messages)>form,.chat-body:has(.global-chat-messages)>.chat-unavailable{grid-row:3}

/* Profile promo shortcut */
.premium-card .promo-profile-button{background:rgba(117,85,174,.1);border:1px solid rgba(166,126,232,.32);color:#d9c3ff;box-shadow:none}.premium-card .promo-profile-button:hover{border-color:rgba(191,156,255,.65);background:rgba(129,88,204,.18)}

/* Roomier desktop profile shortcut with stable truncation. */
@media(min-width:701px){.topbar .avatar:not(.guest-login){min-width:248px;height:86px;padding:7px 15px 7px 7px;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;border-radius:24px}.topbar .avatar:not(.guest-login) .user-avatar{width:72px;height:72px;border-radius:21px}.profile-shortcut-text{align-content:center;gap:2px;transform:translateY(-2px)}.profile-shortcut-text small{font-size:.64rem;line-height:1.15;letter-spacing:.15em}.profile-shortcut-text b{display:block;max-width:142px;font-size:1rem;line-height:1.35;text-overflow:ellipsis}.profile-shortcut-arrow{font-size:1.45rem}}

.promo-redeem-block input{width:100%}

@media(max-width:600px){.promo-redeem-block form>button{width:100%}}

/* Keep the one-line promo success action optically centered. */
.premium-dialog .promo-success button.trial-activate{display:flex;align-items:center;justify-content:center;justify-self:center;padding-block:0}.premium-dialog .promo-success button.trial-activate strong{margin:0;line-height:1.2}

/* Promo entry uses the same emerald language as the active Premium status. */
.premium-card .promo-profile-button{border-color:rgba(105,226,166,.58);background:linear-gradient(135deg,rgba(39,157,111,.3),rgba(24,121,104,.24));color:#a8f3cc;text-shadow:0 0 14px rgba(107,236,174,.25);box-shadow:inset 0 1px rgba(220,255,240,.09),0 9px 24px rgba(23,142,99,.13)}.premium-card .promo-profile-button:hover{border-color:rgba(123,244,184,.82);background:linear-gradient(135deg,rgba(43,178,123,.42),rgba(25,147,122,.34));color:#d5ffe7;box-shadow:inset 0 1px rgba(235,255,245,.13),0 12px 30px rgba(31,175,119,.2)}

/* Keep controls aligned when cards have different amounts of personal metadata. */
.game-card{display:flex;flex-direction:column;height:100%}.game-card>.cover-button{flex:none}.game-card>.game-info{display:flex;flex:1;flex-direction:column;min-height:0}.game-card .card-footer{margin-top:auto;padding-top:10px}.game-card .personal-game-note{flex:none}.game-card .game-status{align-self:flex-start}

/* Expiry is entered as two clear steps so native date controls cannot append
   hour digits to the year segment. */
.promo-expiry-field{grid-column:1/-1}.promo-expiry-inputs{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(120px,.65fr);gap:9px}.promo-expiry-inputs input:disabled{opacity:.48;cursor:not-allowed}

/* Keep the launch wordmark inside narrow screens and leave a real text row
   between the descending letters and the tagline. */
.splash-brand{padding:.06em .12em .1em;line-height:1.04}
@media(min-width:601px){.splash-content{row-gap:3px}.splash-brand{line-height:1.02}.splash-content>p{margin-top:10px}}
@media(max-width:600px){.splash-content{width:min(94vw,410px);padding-inline:16px}.splash-brand{width:auto;max-width:calc(100vw - 32px);font-size:clamp(2.35rem,12vw,3.1rem);line-height:1.08;letter-spacing:-.055em}.splash-content>p{margin-top:8px;line-height:1.35}}

/* The own-profile identity is a primary control, so rank, name and actions
   stay readable next to the larger portrait. */
.profile-card .profile-badges .rank-badge,.profile-card .profile-badges .special-badge{min-height:30px;padding:6px 11px;font-size:.74rem;line-height:1.05}.profile-card .profile-name-row h3{font-size:clamp(1.12rem,2vw,1.38rem)}.profile-card .nickname-customize{min-height:34px;height:34px;padding-inline:13px;font-size:.74rem}.profile-card .profile-identity>small{font-size:.78rem}
@media(min-width:960px){.profile-card .profile-badges .rank-badge,.profile-card .profile-badges .special-badge{min-height:36px;padding:8px 14px;font-size:.82rem}.profile-card .profile-name-row h3{font-size:clamp(1.52rem,1.8vw,1.9rem)}.profile-card .nickname-customize{min-height:42px;height:42px;padding-inline:16px;font-size:.84rem}.profile-card .profile-identity>small{font-size:.9rem}}
@media(max-width:600px){.promo-expiry-inputs{grid-template-columns:1fr}.profile-card .profile-badges .rank-badge,.profile-card .profile-badges .special-badge{min-height:27px;padding:5px 8px;font-size:.63rem}.profile-card .profile-name-row h3{font-size:clamp(.96rem,4vw,1.08rem)}.profile-card .nickname-customize{font-size:.67rem}}

/* The portrait itself opens the same photo picker that remains available below. */
.profile-avatar-editor{position:relative;align-self:start;width:68px;height:68px;aspect-ratio:1;border-radius:22px;isolation:isolate}.profile-avatar-editor>.user-avatar{width:100%;height:100%;border-radius:inherit;font-size:2rem}.profile-avatar-change{position:absolute;z-index:8;inset:2px;display:grid;place-items:center;align-content:center;gap:6px;padding:8px;border:0;border-radius:20px;background:linear-gradient(180deg,rgba(6,8,19,.08),rgba(5,7,17,.84));color:#fff;opacity:0;transform:scale(.96);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.25,1),background .18s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.profile-avatar-change span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(174,231,255,.56);border-radius:12px;background:linear-gradient(145deg,rgba(127,75,239,.92),rgba(39,192,226,.9));box-shadow:0 8px 22px rgba(18,10,65,.35),0 0 18px rgba(70,207,255,.18)}.profile-avatar-change svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.profile-avatar-change b{font-size:.64rem;line-height:1.1;letter-spacing:.01em}.profile-avatar-editor:hover .profile-avatar-change,.profile-avatar-change:focus-visible{opacity:1;transform:none}.profile-avatar-change:focus-visible{outline:2px solid #8ce8ff;outline-offset:0}.profile-avatar-editor:hover>.user-avatar{filter:brightness(.8);transition:filter .18s ease}
@media(min-width:960px){.profile-avatar-editor{width:100%;height:auto;border-radius:30px}.profile-avatar-editor>.user-avatar{width:100%;height:100%;font-size:3rem}.profile-avatar-change{inset:2px;border-radius:28px}.profile-avatar-change span{width:42px;height:42px;border-radius:14px}.profile-avatar-change svg{width:22px;height:22px}.profile-avatar-change b{font-size:.72rem}}
@media(max-width:600px){.profile-avatar-editor{width:var(--profile-avatar-size);height:var(--profile-avatar-size);border-radius:28%}.profile-avatar-editor>.user-avatar{width:100%;height:100%}.profile-avatar-change{inset:auto 5px 5px auto;width:34px;height:34px;padding:0;border:1px solid rgba(149,222,255,.58);border-radius:11px;background:linear-gradient(145deg,#7450df,#2fb8dc);opacity:1;transform:none;box-shadow:0 7px 20px rgba(3,6,22,.5)}.profile-avatar-change span{width:auto;height:auto;border:0;border-radius:0;background:none;box-shadow:none}.profile-avatar-change svg{width:17px;height:17px}.profile-avatar-change b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.profile-avatar-editor:hover>.user-avatar{filter:none}}
@media(prefers-reduced-motion:reduce){.profile-avatar-change,.profile-avatar-editor>.user-avatar{transition:none!important}}

/* Profile identity grid: every row shares the portrait's vertical rhythm. */
.rank-progress-trigger{appearance:none;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;font:inherit;white-space:nowrap;cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.rank-progress-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis}.rank-progress-trigger i{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,.12);font-size:1rem;font-style:normal;line-height:1;transition:transform .16s ease}.rank-progress-trigger:hover{transform:translateY(-1px);filter:brightness(1.13);box-shadow:0 8px 20px rgba(30,12,73,.24)}.rank-progress-trigger:hover i{transform:translateX(2px)}.rank-progress-trigger:focus-visible{outline:2px solid #87e9ff;outline-offset:3px}
@media(min-width:960px){.profile-card{align-items:start}.profile-avatar-editor{aspect-ratio:1}.profile-identity{align-self:stretch;display:grid;grid-template-rows:auto minmax(42px,1fr) auto;align-content:stretch;gap:8px;min-height:clamp(116px,8.5vw,144px);padding:0}.profile-badges{align-self:start;min-width:0}.profile-name-row{align-self:center;min-width:0;margin:0}.profile-identity>small{align-self:end;margin:0}.profile-badges .rank-progress-trigger{max-width:min(100%,360px)}}
@media(max-width:600px){.rank-progress-trigger{max-width:100%;gap:5px}.rank-progress-trigger i{width:14px;height:14px;font-size:.82rem}}

/* Rank progression modal. */
.rank-progress-dialog{width:min(680px,calc(100vw - 28px));max-width:680px}.rank-progress-dialog .community-body{display:grid;gap:15px;padding:18px}.rank-progress-hero{position:relative;overflow:hidden;padding:24px;border:1px solid rgba(116,207,244,.32);border-radius:22px;background:radial-gradient(circle at 84% 10%,rgba(48,194,230,.18),transparent 35%),linear-gradient(145deg,rgba(91,53,173,.3),rgba(18,28,54,.74));box-shadow:inset 0 1px rgba(255,255,255,.07)}.rank-progress-hero::after{content:"";position:absolute;right:-45px;top:-70px;width:190px;height:190px;border:1px solid rgba(130,218,255,.15);border-radius:50%;box-shadow:0 0 55px rgba(95,80,238,.13);pointer-events:none}.rank-progress-kicker{display:block;margin-bottom:14px;color:#64e9d3;font-size:.63rem;font-weight:950;letter-spacing:.17em}.rank-progress-hero>small,.rank-next-card>small{display:block;color:#aaa2bc;font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.rank-progress-hero h3{margin:6px 0 7px;color:#fff;font-size:clamp(1.45rem,4vw,2.15rem);line-height:1.08}.rank-progress-hero p{max-width:480px;margin:0;color:#b6aec5;font-size:.82rem;line-height:1.5}.rank-progress-track{height:10px;margin-top:22px;overflow:hidden;border:1px solid rgba(146,124,205,.3);border-radius:999px;background:rgba(6,8,20,.55);box-shadow:inset 0 2px 6px rgba(0,0,0,.38)}.rank-progress-track i{display:block;height:100%;min-width:5px;border-radius:inherit;background:linear-gradient(90deg,#8852f2,#46baf2 68%,#5be3bd);box-shadow:0 0 16px rgba(76,198,245,.45)}.rank-progress-scale{display:flex;justify-content:space-between;margin-top:7px;color:#8f89a2;font-size:.68rem;font-weight:850;font-variant-numeric:tabular-nums}.rank-progress-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(230px,.88fr);gap:12px}.rank-current-card,.rank-next-card{min-width:0;padding:18px;border:1px solid rgba(124,108,170,.28);border-radius:18px;background:rgba(17,18,34,.72)}.rank-progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.rank-progress-stats div{min-width:0;padding:12px 10px;border:1px solid rgba(126,111,166,.2);border-radius:13px;background:rgba(255,255,255,.025)}.rank-progress-stats dt{min-height:2.4em;color:#918a9e;font-size:.66rem;line-height:1.2}.rank-progress-stats dd{margin:6px 0 0;color:#fff;font-size:1.15rem;font-weight:950;font-variant-numeric:tabular-nums}.rank-next-card{display:grid;align-content:center;justify-items:start;gap:10px;border-color:rgba(89,211,196,.27);background:linear-gradient(145deg,rgba(29,108,103,.18),rgba(41,31,72,.34))}.rank-next-card .rank-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-next-card strong{color:#7df0c5;font-size:1.12rem;line-height:1.15}.rank-next-card p{margin:0;color:#9992aa;font-size:.72rem;font-weight:850;font-variant-numeric:tabular-nums}.rank-complete strong{color:#f5d681}.rank-progress-dialog::backdrop{background:rgba(2,4,13,.8);backdrop-filter:blur(8px)}
@media(max-width:600px){.rank-progress-dialog .community-body{padding:12px}.rank-progress-hero{padding:19px}.rank-progress-grid{grid-template-columns:1fr}.rank-progress-stats dt{min-height:2.5em;font-size:.61rem}.rank-next-card{min-height:132px}}

/* Catalog polish: a consistent control rail, clearer hierarchy and calmer cards. */
.search{position:relative;border-color:rgba(141,120,192,.24);background:linear-gradient(145deg,rgba(24,23,38,.94),rgba(15,20,33,.92));box-shadow:inset 0 1px rgba(255,255,255,.055),0 12px 34px rgba(2,4,14,.14);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.search:focus-within{border-color:rgba(91,221,255,.58);background:linear-gradient(145deg,rgba(30,26,50,.98),rgba(15,28,42,.96));box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 0 3px rgba(66,197,239,.08),0 16px 38px rgba(4,9,28,.28)}.search:focus-within>span{color:#72e9ff;filter:drop-shadow(0 0 8px rgba(80,218,255,.38))}.search button{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;transition:background .16s ease,color .16s ease}.search button:hover{background:rgba(255,255,255,.065);color:#fff}
.platforms{scroll-snap-type:x proximity}.platforms .chip{scroll-snap-align:start;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.platforms .chip:hover{transform:translateY(-1px);border-color:rgba(143,118,216,.44);background:rgba(34,31,49,.96);color:#ece8f7}.platforms .chip.active{border-color:rgba(114,213,255,.55);background:linear-gradient(135deg,rgba(117,71,226,.34),rgba(35,166,201,.2));box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 22px rgba(49,75,178,.16)}
.catalog-tabs{gap:7px;padding:7px;border:1px solid rgba(139,119,184,.16);border-radius:18px;background:rgba(12,14,25,.52);box-shadow:inset 0 1px rgba(255,255,255,.025)}.catalog-tabs button{position:relative;border-color:transparent;background:transparent;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.catalog-tabs button:hover{transform:translateY(-1px);background:rgba(255,255,255,.045);color:#dcd7e8}.catalog-tabs button.active{border-color:rgba(104,214,255,.4);background:linear-gradient(135deg,rgba(122,72,234,.34),rgba(39,177,210,.18));box-shadow:inset 0 1px rgba(255,255,255,.08),0 9px 24px rgba(45,66,165,.16)}
.section-heading{position:relative;margin:0 0 13px;padding-left:17px}.section-heading::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:99px;background:linear-gradient(#9b6bff,#52dbef);box-shadow:0 0 16px rgba(91,207,245,.3)}.section-heading h2{line-height:1.13}.catalog-intro{margin:0 0 25px;padding-left:17px}.catalog-intro::before{margin-left:-17px}
.new-releases{position:relative;margin:20px 0 28px;padding:18px;border:1px solid rgba(103,204,244,.16);border-radius:22px;background:linear-gradient(145deg,rgba(29,24,46,.68),rgba(10,20,31,.66));box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 44px rgba(1,4,14,.18)}.new-releases-track{margin-inline:0;padding:3px 2px 7px}.release-card{transition:transform .17s ease,border-color .17s ease,background .17s ease,box-shadow .17s ease}.release-card:hover{transform:translateY(-2px);border-color:rgba(82,221,255,.5);background:linear-gradient(135deg,rgba(54,38,82,.98),rgba(16,43,50,.98));box-shadow:0 12px 27px rgba(3,7,21,.3)}.release-card img{box-shadow:0 7px 18px rgba(2,4,12,.28)}
.game-grid{align-items:stretch}.game-card{isolation:isolate;border-color:rgba(161,126,218,.23);background:linear-gradient(158deg,rgba(34,29,50,.98),rgba(15,18,29,.99) 58%);box-shadow:0 17px 42px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.055);transition:transform .22s cubic-bezier(.2,.8,.25,1),border-color .18s ease,box-shadow .22s ease}.game-card:hover{transform:translateY(-5px);border-color:rgba(119,205,244,.48);box-shadow:0 25px 58px rgba(0,0,0,.36),0 0 26px rgba(78,76,202,.08),inset 0 1px rgba(255,255,255,.08)}.cover-button{overflow:hidden}.cover-button img{transition:transform .45s cubic-bezier(.2,.8,.25,1),filter .25s ease}.game-card:hover .cover-button img{transform:scale(1.035);filter:saturate(1.06) contrast(1.02)}.cover-button::after{background:linear-gradient(transparent,rgba(7,8,15,.96));transition:opacity .2s ease}.game-info{position:relative;padding:14px;border-top:1px solid rgba(255,255,255,.035);background:linear-gradient(180deg,rgba(25,23,38,.96),rgba(14,17,27,.98))}.game-info h3{font-weight:870}.developer{min-height:1.45em;color:#9f9aaf}.card-footer{padding-top:12px!important;border-top:1px solid rgba(255,255,255,.045)}.os{width:28px;height:28px}.follow,.favorite{width:35px;height:35px;border-color:rgba(135,125,169,.2);background:rgba(24,25,39,.96);transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.follow:hover,.favorite:hover{transform:translateY(-1px)}.follow:hover{border-color:rgba(101,222,182,.42);background:rgba(45,151,117,.1);color:#88efc7}
.empty-state{margin:18px 0;padding:70px 24px;border:1px dashed rgba(137,119,180,.28);border-radius:24px;background:radial-gradient(circle at 50% 0,rgba(114,72,200,.12),transparent 55%),rgba(17,18,29,.54)}.empty-state div{display:grid;place-items:center;width:62px;height:62px;margin:auto;border:1px solid rgba(112,213,242,.25);border-radius:20px;background:linear-gradient(145deg,rgba(119,76,222,.2),rgba(38,166,195,.1));color:#aeeeff}.pagination button{transition:transform .16s ease,border-color .16s ease,background .16s ease}.pagination button:not(:disabled):hover{transform:translateY(-1px);border-color:rgba(101,217,249,.46);background:rgba(52,48,76,.82)}
@media(min-width:960px){.search{min-height:62px;padding-inline:20px 14px}.search input{font-size:1.04rem}.platforms{margin-top:16px;margin-bottom:30px}.new-releases-track{grid-auto-columns:min(300px,28vw);gap:12px}}
@media(max-width:600px){.catalog-tabs{margin-inline:-4px;padding:5px;border-radius:15px}.catalog-tabs button{min-height:39px;padding-inline:11px}.section-heading{padding-left:14px}.catalog-intro{padding-left:14px}.catalog-intro::before{margin-left:-14px}.new-releases{margin-inline:-4px;padding:14px 12px;border-radius:19px}.new-releases-track{margin-inline:-12px;padding-inline:12px}.game-card:hover{transform:none}.game-info{padding:11px}.os{width:25px;height:25px}.follow,.favorite{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.game-card,.cover-button img,.release-card,.platforms .chip,.catalog-tabs button{transition:none!important}.game-card:hover,.game-card:hover .cover-button img,.release-card:hover{transform:none!important}}

/* Preserve the full descender of the gradient "y". The painted text needs
   its own padding box; a tight flex line otherwise clips the final stroke. */
.splash-brand strong{display:inline-block;align-self:baseline;line-height:1.12;padding-bottom:.2em;margin-bottom:-.2em;overflow:visible}

/* New TELLYGAME launch mark: the artwork remains readable on its own while
   lightweight CSS layers add motion without shipping an animated bitmap. */
.splash-mark{position:relative;isolation:isolate;display:grid;place-items:center;width:118px;aspect-ratio:1;margin-bottom:18px;filter:drop-shadow(0 24px 36px rgba(32,8,92,.42));animation:splash-mark-float 3.6s ease-in-out 1s infinite alternate}
.splash-mark::before{content:"";position:absolute;z-index:-2;inset:-9%;border-radius:50%;background:conic-gradient(from 30deg,transparent 0 13%,rgba(62,231,255,.82) 18%,rgba(133,82,255,.18) 31%,transparent 43% 62%,rgba(246,71,255,.75) 70%,rgba(91,218,255,.15) 83%,transparent 92%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));animation:splash-mark-spin 5.8s linear infinite}
.splash-mark::after{content:"";position:absolute;z-index:-3;inset:10%;border-radius:42%;background:radial-gradient(circle,rgba(126,77,255,.42),rgba(47,205,255,.13) 48%,transparent 72%);filter:blur(17px);animation:splash-mark-pulse 2.2s ease-in-out infinite alternate}
.splash-mark .splash-icon{position:relative;z-index:2;display:block;width:100%;height:100%;margin:0;border:0;border-radius:0;object-fit:contain;box-shadow:none;filter:saturate(1.06) contrast(1.03) drop-shadow(0 0 9px rgba(79,221,255,.26));animation:splash-mark-arrive .96s cubic-bezier(.16,.9,.2,1.18) .03s both}
.splash-mark-orbit{position:absolute;z-index:1;inset:8% -5%;border:1px solid rgba(130,222,255,.22);border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 14px rgba(80,206,255,.12);animation:splash-orbit-loop 4.4s linear infinite}
.splash-mark-orbit::before,.splash-mark-orbit::after{content:"";position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#87edff;box-shadow:0 0 7px #50dcff,0 0 17px rgba(97,211,255,.85)}
.splash-mark-orbit::before{left:-3px}.splash-mark-orbit::after{right:-3px;background:#d581ff;box-shadow:0 0 7px #cf6eff,0 0 17px rgba(183,86,255,.82)}
.splash-mark-shine{position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.72) 47%,rgba(105,236,255,.48) 51%,transparent 68%);background-size:260% 100%;background-position:-180% 0;-webkit-mask:url("./assets/tellyplay-splash-mark-v1.png") center/contain no-repeat;mask:url("./assets/tellyplay-splash-mark-v1.png") center/contain no-repeat;mix-blend-mode:screen;animation:splash-mark-shine 3.2s ease-in-out 1.15s infinite}
.splash-progress{position:relative;height:8px;padding:2px;border:1px solid rgba(151,133,237,.28);border-radius:999px;overflow:hidden;background:linear-gradient(90deg,rgba(106,76,180,.16),rgba(41,137,181,.13));box-shadow:inset 0 1px 3px rgba(0,0,0,.45),0 0 25px rgba(84,205,255,.1)}
.splash-progress i{position:relative;width:34%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9c62ff 0%,#7e69ff 45%,#42e7ff 100%);box-shadow:0 0 9px rgba(71,224,255,.86),0 0 20px rgba(126,81,255,.48);animation:splash-charge 1.65s cubic-bezier(.58,.01,.36,1) infinite}
.splash-progress i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);transform:translateX(-90%);animation:splash-charge-glint .85s ease-in-out infinite}
.splash-progress.has-retry{width:auto;height:auto;padding:0;border:0;overflow:visible;background:none;box-shadow:none}
@keyframes splash-mark-arrive{from{opacity:0;transform:translate3d(-54px,-24px,0) scale(.58) rotate(-18deg);filter:saturate(.45) blur(9px)}70%{opacity:1;transform:translate3d(5px,3px,0) scale(1.045) rotate(2deg)}to{opacity:1;transform:none}}
@keyframes splash-mark-float{to{transform:translateY(-7px) rotate(.7deg)}}
@keyframes splash-mark-spin{to{transform:rotate(360deg)}}
@keyframes splash-mark-pulse{to{inset:2%;opacity:.62;filter:blur(23px)}}
@keyframes splash-orbit-loop{to{transform:rotate(342deg)}}
@keyframes splash-mark-shine{0%,58%{background-position:-180% 0;opacity:0}67%{opacity:1}84%,100%{background-position:180% 0;opacity:0}}
@keyframes splash-charge{0%{transform:translateX(-112%) scaleX(.72);opacity:.35}45%{opacity:1}100%{transform:translateX(295%) scaleX(1.04);opacity:.78}}
@keyframes splash-charge-glint{to{transform:translateX(120%)}}
@media(min-width:601px){.splash-content{width:min(90vw,900px);grid-template-columns:186px minmax(0,1fr);column-gap:52px}.splash-mark{grid-area:icon;width:186px;margin:0}.splash-mark .splash-icon{width:100%;height:100%}.splash-progress{width:340px;height:9px}}
@media(max-width:600px){.splash-mark{width:124px;margin-bottom:20px}.splash-progress{width:184px;height:8px}}
@media(prefers-reduced-motion:reduce){.splash-mark,.splash-mark::before,.splash-mark::after,.splash-mark .splash-icon,.splash-mark-orbit,.splash-mark-shine,.splash-progress i,.splash-progress i::after{animation:none}.splash-progress i{width:100%;opacity:.72}.splash-mark-shine{display:none}}

/* The whole launch scene uses the same luminous glass language as the mark. */
.splash{background:radial-gradient(circle at 50% 47%,rgba(38,38,91,.96) 0,rgba(12,25,46,.96) 32%,#070b14 68%,#05070d 100%)}
.splash::before{width:min(92vw,1040px);height:min(42vw,430px);border-radius:50%;background:linear-gradient(103deg,transparent 8%,rgba(207,62,255,.09) 25%,rgba(118,78,255,.25) 45%,rgba(42,223,255,.2) 66%,transparent 89%);filter:blur(1px);box-shadow:inset 0 0 45px rgba(114,92,255,.08),0 0 110px rgba(27,174,236,.06);transform:rotate(-10deg);animation:splash-field-drift 6s ease-in-out infinite alternate}
.splash::after{width:min(61vw,680px);aspect-ratio:1;border:0;background:conic-gradient(from 10deg,transparent 0 7%,rgba(76,227,255,.42) 11%,rgba(130,80,255,.08) 24%,transparent 38% 57%,rgba(224,75,255,.3) 64%,rgba(73,220,255,.08) 78%,transparent 91%);-webkit-mask:radial-gradient(farthest-side,transparent 63%,#000 63.4% 64%,transparent 64.6% 77%,#000 77.4% 78%,transparent 78.6%);mask:radial-gradient(farthest-side,transparent 63%,#000 63.4% 64%,transparent 64.6% 77%,#000 77.4% 78%,transparent 78.6%);filter:drop-shadow(0 0 18px rgba(66,195,255,.22));animation:splash-field-turn 14s linear infinite}
.splash-glow{inset:0;width:auto;aspect-ratio:auto;border-radius:0;opacity:.78;filter:none;background:radial-gradient(circle at 14% 24%,rgba(131,89,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 82% 19%,rgba(79,221,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 74% 74%,rgba(210,92,255,.55) 0 1px,transparent 2px),radial-gradient(circle at 27% 78%,rgba(79,221,255,.48) 0 1px,transparent 2px),radial-gradient(circle at 61% 13%,rgba(255,255,255,.5) 0 1px,transparent 2px),radial-gradient(circle at 50% 48%,rgba(114,74,255,.18),rgba(35,197,244,.07) 28%,transparent 58%);animation:splash-stars 4.4s ease-in-out infinite alternate}
.splash-glow::before{content:"";position:absolute;left:-18%;right:-18%;top:53%;height:70%;opacity:.18;background-image:linear-gradient(rgba(98,204,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(135,92,255,.2) 1px,transparent 1px);background-size:68px 68px;transform-origin:top;transform:perspective(560px) rotateX(67deg);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.68),transparent 74%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.68),transparent 74%);animation:splash-grid-drift 8s linear infinite}
.splash-glow::after{content:"";position:absolute;left:50%;top:49%;width:min(82vw,820px);aspect-ratio:2.35;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(109,216,255,.08);box-shadow:0 0 0 34px rgba(112,77,255,.025),0 0 0 72px rgba(70,202,255,.018);animation:splash-ring-breathe 5.2s ease-in-out infinite alternate}
.splash-content{filter:drop-shadow(0 28px 55px rgba(0,0,0,.24))}
.splash-brand{position:relative;font-family:Inter,"Segoe UI",ui-sans-serif,sans-serif;font-weight:950;letter-spacing:-.072em;filter:drop-shadow(0 10px 24px rgba(54,14,124,.28))}
.splash-brand::before{display:none}
.splash-brand span{color:transparent;background:linear-gradient(112deg,#fff 0%,#f6f2ff 42%,#b9eaff 78%,#fff 100%);background-size:180% 100%;background-clip:text;-webkit-background-clip:text;text-shadow:0 1px rgba(255,255,255,.26);animation:splash-word-light 5.2s ease-in-out infinite}
.splash-brand strong{background:linear-gradient(108deg,#e385ff 0%,#a36eff 28%,#756dff 53%,#48e4ff 78%,#d379ff 100%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 26px rgba(116,94,255,.18);animation:splash-word-light 4.4s ease-in-out infinite reverse}
.splash-content>p{position:relative;color:#d2ccdf;font-size:.76rem;font-weight:760;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 0 18px rgba(112,215,255,.16)}
.splash-content>p::before,.splash-content>p::after{content:"";display:inline-block;width:18px;height:1px;margin:0 10px .28em;background:linear-gradient(90deg,transparent,#8d76c8)}
.splash-content>p::after{background:linear-gradient(90deg,#579db4,transparent)}
.splash-progress::before{content:"";position:absolute;inset:2px;border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0 17px,rgba(255,255,255,.08) 18px 19px);pointer-events:none}
.splash-meta{gap:11px;color:#aeb0c5;font-size:.66rem;font-weight:720;letter-spacing:.075em;text-transform:uppercase}
.splash-meta::before{content:"";width:6px;height:6px;border-radius:50%;background:#56e8ff;box-shadow:0 0 7px #42e8ff,0 0 18px rgba(61,223,255,.82);animation:splash-status-pulse 1.25s ease-in-out infinite alternate}
.splash-meta .splash-age{order:-1;min-width:36px;height:23px;border-color:rgba(154,131,238,.42);border-radius:7px;background:linear-gradient(135deg,rgba(131,75,231,.18),rgba(44,176,217,.09));color:#d0c5eb;font-size:.59rem;letter-spacing:.03em;box-shadow:inset 0 1px rgba(255,255,255,.06)}
@keyframes splash-field-drift{to{transform:translate3d(2%,-3%,0) rotate(8deg);opacity:.78}}
@keyframes splash-field-turn{to{transform:rotate(360deg)}}
@keyframes splash-stars{to{opacity:1;filter:brightness(1.18)}}
@keyframes splash-grid-drift{to{background-position:68px 68px,68px 68px}}
@keyframes splash-ring-breathe{to{transform:translate(-50%,-50%) scale(1.055) rotate(2deg);border-color:rgba(166,104,255,.13)}}
@keyframes splash-word-light{50%{background-position:100% 50%;filter:brightness(1.08)}}
@keyframes splash-status-pulse{to{opacity:.45;transform:scale(.72)}}
@media(min-width:601px){.splash-content>p{font-size:.78rem}.splash-meta{font-size:.68rem}}
@media(max-width:600px){.splash-content>p{font-size:.66rem;letter-spacing:.105em}.splash-content>p::before,.splash-content>p::after{width:10px;margin-inline:6px}.splash-meta{font-size:.6rem;letter-spacing:.045em}}
@media(prefers-reduced-motion:reduce){.splash::before,.splash::after,.splash-glow,.splash-brand span,.splash-brand strong,.splash-meta::before{animation:none}}

/* Profile portraits and identities share a generous, consistent hierarchy. */
@media(min-width:960px){.profile-card{grid-template-columns:clamp(180px,15vw,232px) minmax(0,1fr);gap:28px}.profile-card .profile-avatar-editor{width:100%;height:auto;aspect-ratio:1}.profile-card .profile-identity{min-height:clamp(180px,15vw,232px);grid-template-rows:auto minmax(52px,1fr) auto;align-content:stretch;gap:18px}.profile-card .profile-name-row h3{font-size:clamp(2rem,3vw,2.8rem)}.profile-card .profile-identity>small{align-self:auto}.profile-card dl{margin-top:4px}}
.public-profile-dialog{width:min(1060px,calc(100vw - 40px));max-width:1060px}.public-profile-dialog .community-body{padding:26px;scrollbar-gutter:stable}.public-profile-hero{grid-template-columns:160px minmax(0,1fr) auto;gap:26px;padding:28px;border-radius:25px}.public-profile-hero>div{min-width:0}.public-profile-hero>.user-avatar{width:160px;height:160px;border-radius:28%;font-size:4rem}.public-profile-hero h3{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.25;margin:14px 0 12px;overflow-wrap:anywhere}.public-profile-dialog .profile-tabs{gap:8px;padding:6px;border:1px solid rgba(140,124,190,.2);border-radius:17px;background:rgba(6,10,23,.3)}.public-profile-dialog .profile-tabs button{flex:1;min-width:0;border-color:transparent;background:transparent}.public-profile-dialog .profile-tabs [aria-pressed=true]{border-color:rgba(126,208,255,.35);background:linear-gradient(135deg,rgba(126,77,225,.3),rgba(44,177,204,.15))}.public-profile-items{display:grid;gap:12px}.public-profile-dialog .public-profile-items article{margin:0;padding:20px;border-radius:19px;background:linear-gradient(135deg,rgba(42,34,61,.32),rgba(17,24,38,.36))}.public-profile-dialog .public-game-link{text-decoration:none;gap:16px}.public-profile-dialog .public-game-link img{width:70px;height:88px;border-radius:13px}.public-profile-dialog .public-game-link strong{font-size:1.06rem;line-height:1.4;color:#eee9ff}.public-profile-dialog .public-profile-items p{margin:14px 0 0;line-height:1.7}.public-profile-dialog [data-comment]{margin-top:20px;padding:18px;border:1px solid rgba(137,113,191,.25);border-radius:18px;background:rgba(17,22,39,.5)}.public-profile-dialog [data-comment] button{display:block;margin-top:12px;width:100%;background:linear-gradient(120deg,#7046c5,#258cac)}
@media(max-width:700px){.public-profile-dialog{width:calc(100vw - 16px)}.public-profile-dialog .community-body{padding:14px}.public-profile-hero{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:18px}.public-profile-hero>.user-avatar{width:100px;height:100px}.public-profile-hero h3{font-size:1.45rem;margin:10px 0}.public-profile-hero .public-copy-id{font-size:.62rem;max-width:100%;overflow-wrap:anywhere}.public-profile-hero .public-message-button{grid-column:1/-1}.public-profile-dialog .profile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.public-profile-dialog .public-profile-items article{padding:15px}.public-profile-hero .rank-badge{max-width:100%;white-space:normal;line-height:1.35}}

/* Atmospheric masthead: brand on the left, account controls on the right. */
.topbar{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:144px;padding:22px 28px;background:linear-gradient(90deg,rgba(14,19,38,.88),rgba(13,19,39,.74) 32%,rgba(13,19,39,.6) 62%,rgba(13,19,39,.96) 88%),url('./assets/tellyplay-site-masthead-v1.webp') center 35%/cover no-repeat;animation:none}
.topbar::before{background:radial-gradient(ellipse at 54% 45%,rgba(114,71,199,.2),transparent 65%)}
.topbar .brand-home{position:static;top:auto;right:auto;left:auto;width:auto;transform:none;justify-self:start;text-align:left;min-width:0}
.topbar .brand-home .main-wordmark{font-size:clamp(2.25rem,3.1vw,3rem);line-height:1.2;letter-spacing:.015em;padding-block:3px;transform:scaleX(1.07);transform-origin:left center}
.topbar .brand-caption{max-width:100%;font-size:.82rem;letter-spacing:.14em;line-height:1.5}
.topbar .topbar-actions{position:static;grid-column:3;margin:0;justify-self:end;background:rgba(12,18,32,.54);border-color:rgba(132,165,215,.17)}
@media(max-width:1000px) and (min-width:701px){.topbar{gap:14px;padding-inline:20px}.topbar .brand-caption{font-size:.56rem;letter-spacing:.07em}.topbar .brand-home .main-wordmark{font-size:1.7rem}.topbar .avatar:not(.guest-login){min-width:60px;width:60px;height:60px;padding:6px;grid-template-columns:1fr;gap:0}.topbar .avatar:not(.guest-login) .user-avatar{width:48px;height:48px;border-radius:15px}.topbar .profile-shortcut-text,.topbar .profile-shortcut-arrow{display:none}}
@media(max-width:700px){.topbar{grid-template-columns:48px minmax(0,1fr);gap:12px;min-height:0;padding:16px;margin-bottom:18px;border-radius:22px;animation:none}.topbar .brand-icon-home{display:grid;position:static;width:48px;height:48px;border-radius:15px}.topbar .brand-icon-home img{width:40px;height:40px;border-radius:12px}.topbar .brand-home .main-wordmark{font-size:1.95rem;transform:none}.topbar .brand-caption{font-size:.64rem;letter-spacing:.08em;margin-top:3px}.topbar .topbar-actions{grid-column:1/-1;justify-self:stretch;justify-content:flex-end;padding:6px;border-radius:16px}.topbar .profile-shortcut-text,.topbar .profile-shortcut-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.topbar{animation:none}}

/* Dropdowns belong above the page; the header's isolation must not trap them below search. */
.topbar{z-index:25}.language-menu{z-index:50}
.search{border-color:rgba(126,151,233,.42);background:linear-gradient(120deg,rgba(42,33,67,.76),rgba(17,32,49,.8));box-shadow:inset 0 1px rgba(205,211,255,.06),0 6px 24px rgba(43,43,124,.12);transition:border-color .18s,box-shadow .18s}
.search:focus-within{border-color:rgba(102,219,255,.75);box-shadow:0 0 0 3px rgba(99,140,255,.12),0 8px 28px rgba(74,72,196,.18)}
.search input::placeholder{color:#a4a0b9;opacity:1}

/* The name is custom artwork too, rather than system text beside a premium mark. */
.splash-brand{display:block;width:min(88vw,300px);max-width:none;padding:0;margin:0;overflow:hidden;line-height:1;filter:drop-shadow(0 14px 30px rgba(53,19,135,.32))}
.splash-wordmark{position:relative;z-index:1;display:block;width:100%;height:auto;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0 45%,#000 55% 100%);mask-image:linear-gradient(90deg,transparent 0 45%,#000 55% 100%);-webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;filter:saturate(.93) brightness(1.02) drop-shadow(0 0 9px rgba(74,215,255,.18));animation:splash-wordmark-arrive 1.05s cubic-bezier(.18,.82,.22,1) .24s both,splash-wordmark-glow 2.8s ease-in-out 1.3s infinite alternate}
.splash-brand-shine{position:absolute;z-index:2;inset:0;display:block;pointer-events:none;background:linear-gradient(108deg,transparent 32%,rgba(255,255,255,.8) 47%,rgba(95,233,255,.58) 52%,transparent 67%);background-size:260% 100%;background-position:-180% 0;-webkit-mask:url("./assets/tellyplay-wordmark-v1.png") center/contain no-repeat;mask:url("./assets/tellyplay-wordmark-v1.png") center/contain no-repeat;mix-blend-mode:screen;animation:splash-brand-scan 3.7s ease-in-out 1.4s infinite}
@keyframes splash-wordmark-arrive{from{opacity:0;-webkit-mask-position:0 0;mask-position:0 0;filter:saturate(.55) brightness(.78) drop-shadow(0 0 3px rgba(74,215,255,.08))}38%{opacity:1}to{opacity:1;-webkit-mask-position:100% 0;mask-position:100% 0;filter:saturate(.93) brightness(1.02) drop-shadow(0 0 9px rgba(74,215,255,.18))}}
@keyframes splash-wordmark-glow{to{filter:saturate(1.08) brightness(1.08) drop-shadow(0 0 14px rgba(101,218,255,.28))}}
@keyframes splash-brand-scan{0%,62%{background-position:-180% 0;opacity:0}70%{opacity:1}88%,100%{background-position:180% 0;opacity:0}}
/* One optical axis for the wordmark, caption, loader and status. */
.splash-content>p,.splash-progress,.splash-meta{justify-self:center;width:min(84vw,280px)}
.splash-content>p{display:flex;align-items:center;justify-content:center;white-space:nowrap;animation:splash-caption-arrive .62s ease-out .58s both}
.splash-progress{animation:splash-loader-arrive .7s cubic-bezier(.2,.82,.2,1) .72s both}
.splash-meta{justify-content:center;animation:splash-meta-arrive .58s ease-out .9s both}
@keyframes splash-caption-arrive{from{opacity:0;transform:translateY(12px);letter-spacing:.25em}to{opacity:1;transform:none}}
@keyframes splash-loader-arrive{from{opacity:0;clip-path:inset(0 50%);filter:blur(3px)}to{opacity:1;clip-path:inset(0);filter:none}}
@keyframes splash-meta-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(min-width:601px){.splash-brand{width:min(100%,500px);max-width:500px;justify-self:center}.splash-content>p,.splash-progress,.splash-meta{width:min(100%,460px)}.splash-content>p{margin-top:11px}.splash-progress{margin-top:16px}.splash-meta{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.splash-wordmark,.splash-brand-shine,.splash-content>p,.splash-progress,.splash-meta,.splash-glow::before,.splash-glow::after{animation:none}.splash-brand-shine{display:none}}

/* Compact Telegram link below footer contact button. */
.site-footer .footer-telegram{display:flex;align-items:center;justify-content:center;width:42px;height:42px;box-sizing:border-box;margin-top:12px;border:1px solid rgba(93,194,255,.4);border-radius:50%;background:rgba(54,160,218,.13);color:#71d1ff;text-decoration:none;transition:background .15s,border-color .15s}
.site-footer .footer-telegram svg{display:block;width:23px;height:23px}
.site-footer .footer-telegram:hover{background:rgba(54,160,218,.25);border-color:#71d1ff;color:#b4ecff}
.site-footer .footer-telegram:focus-visible{outline:2px solid #81dfff;outline-offset:4px}

.footer-telegram-row{display:flex;align-items:center;gap:4px;position:relative;width:fit-content;margin-top:12px}
.site-footer .footer-telegram-row .footer-telegram{margin-top:0}
.footer-telegram-help{position:static}
.footer-telegram-help .footer-telegram-help-trigger{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;padding:0;border:1px solid rgba(160,162,171,.48);border-radius:50%;color:#979aa4;background:rgba(140,142,152,.10);cursor:help;list-style:none;font:700 13px Georgia,serif}
.footer-telegram-help .footer-telegram-help-trigger::-webkit-details-marker{display:none}
.footer-telegram-help .footer-telegram-help-trigger:hover,.footer-telegram-row:hover .footer-telegram-help-trigger{border-color:#979aa4;color:#c3c5cc;background:rgba(140,142,152,.18)}
.footer-telegram-help .footer-telegram-help-trigger:focus-visible{outline:2px solid #c3c5cc;outline-offset:4px}
.site-footer .footer-telegram-help p{display:none;position:absolute;z-index:5;left:0;bottom:calc(100% + 10px);box-sizing:border-box;width:310px;max-width:calc(100vw - 48px);margin:0;padding:14px 16px;border:1px solid #3b5678;border-radius:14px;background:#111a2b;color:#e0eaf8;box-shadow:0 10px 30px #0006;font-size:13px;line-height:1.6;text-align:left}

/* Tooltip belongs to the whole Telegram group; no click required. */
@media(hover:hover){.footer-telegram-row:hover .footer-telegram-help p{display:block}}
.footer-telegram-help-trigger:focus-visible + p,.footer-telegram-row[data-info-open="true"] .footer-telegram-help p{display:block}
.footer-telegram-help p::after{content:"";position:absolute;top:100%;left:0;width:100%;height:12px}

.floating-scroll-top{position:fixed;z-index:60;top:calc(var(--safe-top, 0px) + 12px);left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:96px;height:36px;padding:5px 12px;border:1px solid #7c65aa;border-radius:18px;background:rgba(20,18,39,.94);color:#cfeaff;box-shadow:0 4px 20px #0005;cursor:pointer;font-family:inherit;font-weight:700;font-size:12px}
.floating-scroll-top[hidden]{display:none!important}
.floating-scroll-top svg{width:25px;height:25px}
.floating-scroll-top:hover{background:#292142;border-color:#94dfff}
.floating-scroll-top:focus-visible{outline:2px solid #81dfff;outline-offset:4px}

/* Subtle press feedback on both header home links. */
/* Animate only the logo artwork; never transform/filter its link container. */
#brandHome .main-wordmark,#brandIconHome img{transition:scale .14s ease,opacity .14s ease}
#brandHome:active .main-wordmark,#brandIconHome:active img{scale:.96;opacity:.88}
@media(prefers-reduced-motion:reduce){#brandHome .main-wordmark,#brandIconHome img{transition:none}}
