/* TELIMINE Public Experience v3 — global polish, accessible feedback and Admin-matched theme surfaces. */
:root{--pub-radius:18px;--pub-ease:cubic-bezier(.22,1,.36,1);--pub-glass:color-mix(in srgb,var(--cd) 88%,transparent)}
html{scroll-padding-top:86px;-webkit-text-size-adjust:100%}
body#appBody{min-height:100vh;background:var(--bg);color:var(--tx);background-image:radial-gradient(850px 360px at 100% -12%,color-mix(in srgb,var(--p) 8%,transparent),transparent 72%),radial-gradient(650px 300px at -15% 70%,color-mix(in srgb,var(--p2) 6%,transparent),transparent 72%);background-attachment:fixed;-webkit-font-smoothing:antialiased}
#page-home{min-height:calc(100vh - 70px);color:var(--tx)}
#page-home>div{min-width:0}
:where(.game-card,.card,.category-card,.promo-card,.auth-card,.pf-group,.pf-quick-grid,.settings-card,.settings-group,.search-panel,.gbox,.sidebar-profile-card,.hero-cap,.tm-sheet){transition:background-color .24s ease,border-color .24s ease,color .24s ease,box-shadow .24s ease}
:where(.game-card,.card,.category-card,.promo-card,.auth-card,.pf-group,.settings-card,.settings-group,.search-panel,.gbox,.sidebar-profile-card){border-color:var(--bd)}
:where(.game-card,.category-card,.promo-card,.auth-card,.pf-group,.settings-card,.settings-group,.search-panel){box-shadow:var(--surface-shadow,0 10px 28px rgba(15,23,42,.08))}
:where(.top-bar,.topbar,.page-header-clean,.bottom-nav,.bottom-bar,.sidebar-header){background:color-mix(in srgb,var(--cd) 92%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);border-color:var(--bd)}
:where(.menu-btn,.dark-toggle-btn,.tb-mode,.header-icon-btn,.back-btn-clean,.col-dropdown-btn){border:1px solid var(--bd);color:var(--p);background:var(--hv);transition:transform .2s var(--pub-ease),background .2s,color .2s,border-color .2s}
:where(.menu-btn,.dark-toggle-btn,.tb-mode,.header-icon-btn,.back-btn-clean,.col-dropdown-btn):active{transform:scale(.96)}
:where(.menu-item,.submenu-item,.pf-item,.settings-item,.bb-item,.pill){transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--pub-ease)}
:where(.menu-item:hover,.submenu-item:hover,.pf-item:hover,.settings-item:hover){background:var(--hv);color:var(--tx)}
:where(.section-label,.filter-heading,.gcount,.pf-group-sub,.settings-description,.secondary-text){color:var(--mu)}
:where(input,select,textarea,.tm-form input){color:var(--tx);background:var(--cd);border-color:var(--bd)}
:where(input,select,textarea,.tm-form input):focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 18%,transparent)}
:where(input,textarea)::placeholder{color:var(--mu2)}
:where(button,a,[role=button]){touch-action:manipulation}
:where(button,a,[role=button]):focus-visible{outline:3px solid color-mix(in srgb,var(--gold,#f5c451) 72%,white);outline-offset:2px}
/* Robust dark surfaces for feature modules that historically used hardcoded light backgrounds. */
html[data-theme=dark]{--pl:var(--hv);--bd2:var(--bd);--brand:#818cf8;--brand-2:#a78bfa;--brand-soft:rgba(129,140,248,.16);--text:#f1f5f9;--text-2:#c3cdde;--text-3:#8390a6;--surface-solid:#111729;--surface-2:#1a2238;--glass:rgba(17,23,41,.72);--glass-strong:rgba(17,23,41,.9)}
html[data-theme=dark] body#appBody{background-color:#080b14;color:#f1f5f9}
html[data-theme=dark] :where(#page-home,.page-view,.page-view.active,.sidebar,.sidebar-header,.sidebar-scroll,.sidebar-bottom,.sidebar-profile-card,.submenu-list,.search-overlay,.search-container,.search-panel,.profile-page-wrapper,.settings-page-wrapper,.auth-page-wrapper,.auth-card,.pf-group,.pf-quick-grid,.settings-card,.settings-group,.game-details,.game-detail-panel,.modal-content,.popup-content,.bottom-sheet,.tm-sheet){background-color:var(--cd);color:var(--tx);border-color:var(--bd)}
html[data-theme=dark] :where(.sidebar-overlay,.sidebar-overlay.open){background:rgba(0,0,0,.68)}
html[data-theme=dark] :where(.sidebar-header,.pf-group-head,.settings-group-head,.page-header-clean,.top-bar,.bottom-bar,.bottom-nav){background:color-mix(in srgb,var(--cd) 94%,transparent);border-color:var(--bd)}
html[data-theme=dark] :where(.menu-item,.submenu-item,.menu-icon,.dark-toggle-btn,.tb-mode,.pill,.col-dropdown-menu,.col-dropdown-item,.settings-item,.pf-item){background-color:var(--hv);color:var(--tx2);border-color:var(--bd)}
html[data-theme=dark] :where(.menu-item:hover,.submenu-item:hover,.settings-item:hover,.pf-item:hover,.col-dropdown-item:hover){background-color:var(--cd);color:var(--tx)}
html[data-theme=dark] :where(.menu-text,.section-label,.submenu-text,.pf-group-title,.settings-title,.cname,.gname,.filter-heading,.game-title,.profile-name){color:var(--tx)}
html[data-theme=dark] :where(.pf-group-sub,.settings-description,.pf-item-sub,.muted,.gcount,.empty-description){color:var(--mu)}
html[data-theme=dark] :where(.card,.gc-thumb,.cin,.category-card,.promo-card,.game-card){background-color:var(--cd);border-color:var(--bd)}
html[data-theme=dark] :where(.tm-toast){background:#1a2238;color:#f1f5f9;border-color:rgba(148,163,184,.2)}
html[data-theme=dark] :where(.tm-sheet-bg,.modal-backdrop,.popup-backdrop){background:rgba(0,0,0,.66)}
/* Shared toast: compact, animated, stacked above bottom navigation and safe-area aware. */
#tm-toast-region{position:fixed;z-index:3000005;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(92vw,440px);display:flex;flex-direction:column;align-items:stretch;gap:8px;pointer-events:none}
.tm-toast{position:relative;left:auto;bottom:auto;transform:translateY(10px) scale(.98);display:flex;align-items:center;gap:10px;width:100%;max-width:none;padding:12px 15px;border:1px solid color-mix(in srgb,var(--bd) 80%,transparent);border-radius:15px;background:var(--cd);color:var(--tx);box-shadow:0 18px 48px rgba(0,0,0,.22);font-size:13px;font-weight:650;line-height:1.4;opacity:0;animation:tmToastIn .28s var(--pub-ease) forwards;pointer-events:auto;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.tm-toast:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--p);flex:0 0 auto}
.tm-toast[data-kind=success]:before,.tm-toast[data-kind=ok]:before{background:#10b981}.tm-toast[data-kind=error]:before,.tm-toast[data-kind=err]:before{background:#ef4444}.tm-toast[data-kind=warning]:before{background:#f59e0b}
.tm-toast.is-leaving{animation:tmToastOut .2s ease forwards}
@keyframes tmToastIn{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tmToastOut{to{opacity:0;transform:translateY(8px) scale(.98)}}
.tm-sheet-bg{padding:12px 12px calc(12px + env(safe-area-inset-bottom));align-items:flex-end;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:tmFadeIn .18s ease both}
.tm-sheet{border:1px solid var(--bd);box-shadow:0 28px 90px rgba(0,0,0,.26);padding:18px 18px calc(24px + env(safe-area-inset-bottom));animation:tmSheetIn .32s var(--pub-ease) both}
.tm-sheet h3{font-size:17px;letter-spacing:-.02em}
.tm-sheet h3 button{width:36px;height:36px;border-radius:11px;background:var(--hv);display:grid;place-items:center}
.tm-theme-note{margin-top:12px;color:var(--mu);font-size:12px;line-height:1.5}
.tm-maint{background:var(--bg);color:var(--tx)}.tm-maint>i{font-size:42px;color:var(--p);margin-bottom:8px}.tm-maint p{color:var(--mu)}
@keyframes tmFadeIn{from{opacity:0}to{opacity:1}}@keyframes tmSheetIn{from{opacity:.65;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:520px){body#appBody{padding-bottom:calc(82px + env(safe-area-inset-bottom))}#tm-toast-region{bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100vw - 28px)}.tm-sheet{border-radius:22px 22px 14px 14px}.top-bar{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Compact premium public layout, including desktop/tablet scaling. */
:root{--tm-public-radius:14px} .gbox{padding:clamp(12px,1.8vw,20px) clamp(10px,2vw,24px)}.ghead{padding-bottom:10px}.gname{font-size:clamp(12px,1.1vw,14px)}.grid{gap:clamp(7px,1.15vw,13px)}.grid .card{border-radius:var(--tm-public-radius)}.grid .cin{border-radius:calc(var(--tm-public-radius) - 3px)}.grid .cname{font-size:clamp(10px,.95vw,13px);margin:6px 6px 2px}.hero-slider{height:clamp(160px,24vw,320px);border-radius:0 0 20px 20px}.hero-slide .hero-cap{padding:clamp(14px,2.4vw,28px)}.hero-slide h2{font-size:clamp(17px,2.1vw,28px)}.hero-slide p{font-size:clamp(11px,1vw,14px)}#page-home{max-width:1440px;margin-inline:auto}.tm-page-copy{color:var(--mu);font-size:13px;line-height:1.75}.tm-language-choice{display:flex;align-items:center;gap:9px;padding:10px 0;color:var(--tx)}.tm-language-choice input{accent-color:var(--p)}@media(min-width:760px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}body[data-grid-cols="2"] .grid{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-grid-cols="3"] .grid{grid-template-columns:repeat(4,minmax(0,1fr))}body[data-grid-cols="4"] .grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:1150px){body[data-grid-cols="2"] .grid,body[data-grid-cols="3"] .grid{grid-template-columns:repeat(5,minmax(0,1fr))}body[data-grid-cols="4"] .grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
