:root { --bg:#1b0c0c; --card:#2d1111; --text:#fef6e4; --muted:#d9a679; --brand:#f59e0b; --danger:#dc2626; }
*{box-sizing:border-box} body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.container{max-width:860px;margin:40px auto;padding:0 16px}
header:not(.page-header){display:flex;flex-direction:column;align-items:center;gap:16px;margin:20px 0;text-align:center}
header:not(.page-header)::before{content:"";display:block;width:250px;height:80px;max-width:100%;background:url('https://te-hosting.com/images/tab.png') center/contain no-repeat;border-radius:12px;margin:0 auto}
header:not(.page-header)>.nav{margin-left:0;justify-content:center}
a{color:var(--brand);text-decoration:none}
.card{background:var(--card);padding:20px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);margin:16px 0}
.site-banner{margin:16px 0;display:flex;justify-content:center}
.site-banner-inner{width:100%;max-width:760px;background:rgba(255,255,255,.04);border-radius:14px;padding:12px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 10px 24px rgba(0,0,0,.28)}
.site-banner-label{font-size:.75em;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.site-banner-link{display:flex;justify-content:center;align-items:center;width:100%;padding:8px;border-radius:10px;background:rgba(0,0,0,.25);overflow:hidden}
.site-banner-link img{display:block;width:100%;max-width:728px;height:auto}
.site-banner-meta{font-size:.75em;color:var(--muted)}
.site-banner-empty .site-banner-inner{background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.18)}
.site-banner-placeholder{display:inline-flex;justify-content:center;align-items:center;width:100%;max-width:728px;padding:16px;border-radius:10px;border:1px dashed rgba(245,158,11,.5);color:var(--brand);font-weight:600;text-align:center;background:rgba(245,158,11,.08)}
.site-banner-placeholder:hover{background:rgba(245,158,11,.15)}
.site-banner-placeholder-text{display:inline-block;padding:12px 18px;font-weight:600;color:var(--brand)}
.text-ad-strip{margin:18px auto 28px;padding:20px 24px;border-radius:18px;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.22),rgba(255,255,255,.05)),linear-gradient(120deg,rgba(245,158,11,.28),rgba(250,204,21,.12));border:1px solid rgba(245,158,11,.5);box-shadow:0 14px 34px rgba(0,0,0,.28);color:#2a0e0e;max-width:1100px;position:relative;overflow:hidden}
.text-ad-strip::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 70% at 80% 0,rgba(255,255,255,.18),transparent 55%);pointer-events:none;mix-blend-mode:screen;opacity:.8}
.text-ad-strip-header{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-bottom:18px;text-align:center}
.text-ad-strip-title{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#2a0e0e;font-size:1.2em}
.text-ad-strip-subtitle{color:#4c1d07;font-size:.96em;font-weight:700;max-width:780px}
.text-ad-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:stretch}
.text-ad-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 18px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,245,233,.94));color:#2a0e0e;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 18px 36px rgba(0,0,0,.24);border:1px solid rgba(59,13,13,.08);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.text-ad-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 22px 44px rgba(0,0,0,.32);border-color:rgba(59,13,13,.16)}
.text-ad-card-pro{box-shadow:0 20px 38px rgba(250,204,21,.28),0 12px 28px rgba(0,0,0,.22);border-color:rgba(245,158,11,.35)}
.text-ad-card::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 30% 30%,rgba(245,158,11,.18),transparent 48%);filter:blur(0);opacity:.85;z-index:0}
.text-ad-headline{font-weight:900;font-size:1.12em;margin-bottom:4px;letter-spacing:.01em;text-align:center;position:relative;z-index:1}
.text-ad-body{color:#3f2a1f;font-size:1em;line-height:1.6;margin:0 4px 8px;text-align:center;position:relative;z-index:1}
.text-ad-meta{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.92em;color:#8b4513;font-weight:800;position:relative;z-index:1;letter-spacing:.01em}
.text-ad-badge{background:linear-gradient(120deg,#2f0b0b,#8b4513);color:#fef6e4;padding:6px 12px;border-radius:999px;font-size:.82em;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 22px rgba(139,69,19,.3);border:1px solid rgba(255,255,255,.18)}
label{display:block;margin:10px 0}
input,textarea{width:100%;padding:10px;border-radius:10px;border:1px solid #5c1f1f;background:#241111;color:var(--text)}
button{background:var(--brand);color:#3b0d0d;border:0;padding:12px 16px;border-radius:999px;font-weight:700;cursor:pointer}
.banner-preview{margin-top:16px;display:flex;flex-direction:column;gap:8px;align-items:center}
.banner-preview-label{margin:0}
.banner-preview-link{display:flex;justify-content:center;align-items:center;width:100%;max-width:728px;min-height:90px;padding:8px;border-radius:10px;background:rgba(0,0,0,.25);border:1px dashed rgba(255,255,255,.18);overflow:hidden;transition:border-color .2s ease,background .2s ease}
.banner-preview-link:hover{background:rgba(0,0,0,.32);border-color:rgba(255,255,255,.28)}
.banner-preview-link img{display:none;max-width:100%;height:auto}
.banner-preview-placeholder{color:var(--muted);text-align:center;padding:12px}
.btn-danger{background:var(--danger);color:white}
.alert{background:#4a1e1e;color:#ffe4c4;border:1px solid #b91c1c;padding:10px 14px;border-radius:10px;margin:12px 0}
.ad{display:grid;gap:12px;position:relative;opacity:0;transform:translateY(32px);animation:ad-rise .8s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--delay,0s);will-change:transform,opacity;transition:transform .3s ease,box-shadow .3s ease}
.ad h3{margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.grid .ad::after{content:"";position:absolute;inset:-12px;pointer-events:none;border-radius:inherit;opacity:0;animation:ad-glow .8s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--delay,0s)+.05s);background:radial-gradient(120% 120% at 50% 100%,rgba(245,158,11,.28),transparent 70%)}
.grid .ad:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.35)}
.grid .ad:hover::after{opacity:1}
.nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.nav-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.nav-links a{color:var(--text);padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:600;transition:background .2s ease,color .2s ease}
.nav-links a:hover{background:rgba(255,255,255,.15);color:var(--text)}
.nav-links a.small{font-size:.85em;padding:6px 12px;opacity:.85}
.site-footer{margin:48px auto 24px;padding:16px 20px;border-radius:12px;background:rgba(255,255,255,.05);color:var(--muted);text-align:center;max-width:960px}
.site-footer a{color:var(--text);font-weight:600}
.site-footer a:hover{color:var(--brand)}

.nav-toggle{display:none;align-items:center;gap:10px;background:rgba(255,255,255,.08);color:var(--text);border:1px solid rgba(255,255,255,.18);padding:10px 18px;border-radius:999px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}
.nav-toggle:hover{background:rgba(255,255,255,.15)}
.nav-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.nav-toggle-icon{font-size:1.2em;line-height:1}
.small{color:var(--muted);font-size:.9em}
header:not(.page-header) h1{margin:0;font-size:1.75rem}
.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.filters select{min-width:180px}
.actions{display:flex;gap:8px}
.pagination{display:flex;gap:8px;justify-content:center;align-items:center}
.table{display:grid;gap:8px}
.table-row{display:grid;grid-template-columns:2fr repeat(3,1fr) 1.2fr;gap:12px;align-items:center;padding:12px;border-radius:10px;background:rgba(255,255,255,0.02)}
.table-header{font-weight:700;background:rgba(255,255,255,0.08)}
.table-row div{overflow:hidden}
.grid-small{display:grid;gap:12px}
.category-row{display:flex;flex-direction:column;gap:12px}
.row-fields{display:flex;flex-wrap:wrap;gap:12px}
.row-fields label{flex:1 1 200px}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.big{font-size:2.2em;margin:8px 0}
button.small-button{padding:8px 12px;font-size:.9em}
.faq-list{display:flex;flex-direction:column;gap:12px;margin:16px 0}
.faq-item.card{margin:0}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;color:inherit;font:inherit;padding:6px 0;cursor:pointer;text-align:left;border-radius:8px}
.faq-question span:first-child{flex:1;font-weight:600}
.faq-question:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:8px}
.faq-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);font-size:1.4rem;font-weight:700;line-height:1;transition:background .2s ease,color .2s ease}
.faq-item[data-open="true"] .faq-icon{background:rgba(245,158,11,.2);color:var(--brand)}
.faq-answer{padding:0 4px 6px 0}
.faq-answer-content{color:var(--muted);line-height:1.6;white-space:pre-wrap}
.faq-row{display:grid;gap:12px}
.checkbox{display:flex;align-items:center;gap:8px;font-size:.95em}
.checkbox input[type="checkbox"]{width:auto;height:auto}
@keyframes ad-rise{from{opacity:0;transform:translateY(32px);}to{opacity:1;transform:translateY(0);}}
@keyframes ad-glow{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){.ad,.grid .ad::after{animation:none;opacity:1;transform:none}}
header.page-header{gap:16px;margin:28px 0;align-items:center}
header.page-header .page-header-text{max-width:520px;flex:1 1 auto}
header.page-header>:last-child{margin-left:auto}
header.page-header h1{font-size:1.9rem}
.logout-link{background:rgba(255,255,255,.08);color:var(--text);padding:8px 16px;border-radius:999px;font-weight:600;transition:background .2s ease,color .2s ease}
.logout-link:hover{background:rgba(255,255,255,.15)}
.member-nav{background:var(--card);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:16px 20px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.member-nav-links{display:flex;flex-wrap:wrap;gap:12px}
.member-nav-links a{color:var(--text);padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.04);font-weight:600;transition:background .2s ease,color .2s ease}
.member-nav-links a:hover{background:rgba(255,255,255,.12)}
.member-nav-links a.logout-link{background:var(--danger);color:#fff}
.member-nav-links a.logout-link:hover{background:#b91c1c}
.member-nav-toggle{display:none;align-items:center;gap:10px;background:rgba(255,255,255,.08);color:var(--text);border:1px solid rgba(255,255,255,.18);padding:10px 18px;border-radius:999px;font-weight:600;cursor:pointer}
.member-nav-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.member-nav-toggle-icon{font-size:1.2em;line-height:1}
.welcome-card h2{margin-top:0;margin-bottom:8px;font-size:1.6rem}
.welcome-card p{margin:0}
.chart-card{display:flex;flex-direction:column;gap:16px}
.chart-wrapper{position:relative;width:100%;min-height:280px}
.chart-wrapper canvas{width:100%!important;height:100%!important}
.table code{background:rgba(15,23,42,.6);color:#bfdbfe;padding:2px 6px;border-radius:4px;font-family:var(--font-mono,'SFMono-Regular',Menlo,Monaco,Consolas,monospace);word-break:break-all;display:inline-block}
.card code{background:rgba(15,23,42,.6);color:#bfdbfe;padding:2px 6px;border-radius:4px;font-family:var(--font-mono,'SFMono-Regular',Menlo,Monaco,Consolas,monospace)}
@media (max-width:720px){
  .container{margin:24px auto;padding:0 12px}
  header:not(.page-header){gap:12px}
  header:not(.page-header)::before{width:200px;height:64px}
  header.page-header{margin:20px 0}
  header.page-header h1{font-size:1.6rem}
  .site-banner-inner{padding:10px 12px}
  .site-banner-placeholder{padding:12px}
  .nav{width:100%;align-items:stretch}
  .nav-toggle{display:flex;justify-content:space-between;width:100%}
  .nav-links{flex-direction:column;align-items:stretch;width:100%;gap:8px;background:rgba(255,255,255,.06);padding:12px;border-radius:12px}
  .nav-links a{display:block;width:100%;text-align:left;border-radius:8px}
  .nav-links a.small{font-size:.85em;padding:8px 10px}
  .nav[data-js="true"][data-open="false"] .nav-links{display:none}
  .nav[data-js="true"][data-open="false"] .nav-links[hidden]{display:none}
  .member-nav{flex-direction:column;align-items:stretch}
  .member-nav-toggle{display:flex;justify-content:space-between;align-items:center}
  .member-nav[data-js="true"][data-collapsed="true"] .member-nav-links{display:none}
  .member-nav-links{flex-direction:column;width:100%}
  .member-nav-links a{display:block;text-align:center}
  .grid{grid-template-columns:1fr}
}
@media (max-width:680px){.table-row{grid-template-columns:1fr 1fr;grid-template-areas:'title title' 'status views' 'clicks expires';} .table-row div:nth-child(1){grid-area:title;} .table-row div:nth-child(2){grid-area:status;} .table-row div:nth-child(3){grid-area:views;} .table-row div:nth-child(4){grid-area:clicks;} .table-row div:nth-child(5){grid-area:expires;} .table-header{display:none;}}

.stats-summary{display:grid;gap:16px;margin-top:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.stats-summary-item{padding:16px;border-radius:12px;background:rgba(255,255,255,0.03);display:flex;flex-direction:column;gap:6px}
.stats-summary-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(226,232,240,0.7)}
.stats-summary-value{font-size:1.8rem;font-weight:700;color:#f8fafc}
.stats-summary-value-active{color:#34d399}
.stats-summary-value-expired{color:#f87171}
.stats-details{display:grid;gap:16px;margin-top:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.stats-detail-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(226,232,240,0.7);display:block;margin-bottom:4px}
.stats-detail-value{color:#f8fafc;word-break:break-word}
.stats-banner-preview{margin-top:1.5rem;display:flex;flex-direction:column;gap:8px}
.stats-banner-image{max-width:100%;height:auto;border-radius:8px;border:1px solid rgba(148,163,184,0.3);background:#0f172a;padding:8px}
.stats-banner-placeholder{display:inline-block;padding:12px 16px;border-radius:8px;background:rgba(148,163,184,0.15);color:#e2e8f0}
.stats-grid{display:grid;gap:10px;margin-top:1rem}
.stats-grid-row{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;align-items:center;padding:12px;border-radius:10px;background:rgba(255,255,255,0.02)}
.stats-grid-header{font-weight:700;background:rgba(255,255,255,0.08)}
@media (max-width:640px){.stats-grid-row{grid-template-columns:1fr 1fr;grid-template-areas:'date date' 'impressions clicks' 'ctr ctr'} .stats-grid-row div:nth-child(1){grid-area:date;} .stats-grid-row div:nth-child(2){grid-area:impressions;} .stats-grid-row div:nth-child(3){grid-area:clicks;} .stats-grid-row div:nth-child(4){grid-area:ctr;} .stats-grid-header{display:none;}}

.grid-game-card{text-align:center}
.grid-game-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}
.grid-game-board{--grid-cols:1;display:grid;grid-template-columns:repeat(var(--grid-cols),75px);grid-auto-rows:75px;gap:10px;justify-content:center;position:relative}
.grid-game-cell{position:relative;width:75px;height:75px;border:0;padding:0;background:rgba(255,255,255,0.05);border-radius:12px;overflow:hidden;cursor:pointer;opacity:0;transform:scale(.6) rotate(-12deg);animation:grid-cell-in .6s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--delay,0s);box-shadow:0 12px 24px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}
.grid-game-cell-inner{position:absolute;inset:0;background-size:cover;background-position:center;border-radius:inherit;filter:saturate(.85);transition:filter .2s ease}
.grid-game-cell:hover{transform:scale(.68) rotate(-8deg);box-shadow:0 16px 28px rgba(0,0,0,.35)}
.grid-game-cell:hover .grid-game-cell-inner{filter:saturate(1)}
.grid-game-cell::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid rgba(255,255,255,.12);pointer-events:none}
.grid-game-cell-clicked{animation:none;opacity:1;transform:scale(.9) rotate(0deg);box-shadow:0 10px 20px rgba(0,0,0,.3)}
.grid-game-cell-win{outline:3px solid #facc15;box-shadow:0 0 0 3px rgba(250,204,21,.6),0 18px 30px rgba(250,204,21,.25)}
.grid-game-message{min-height:32px;color:var(--muted);font-size:.95em;text-align:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.grid-game-message[data-type="win"]{color:#fef3c7;background:rgba(250,204,21,.15);border-color:rgba(250,204,21,.35)}
.grid-game-message[data-type="login"]{color:#bae6fd;background:rgba(14,165,233,.2);border-color:rgba(14,165,233,.35)}
.grid-game-wrapper::before{content:"";position:absolute;inset:auto 0 0;pointer-events:none;height:160px;background:radial-gradient(120% 60% at 50% 100%,rgba(250,204,21,.08),transparent 70%);opacity:.7;transform:translateY(60px)}
.grid-banner-preview{margin:16px 0;display:flex;justify-content:center}
.grid-banner-preview-link{display:flex;align-items:center;justify-content:center;width:130px;height:130px;border-radius:18px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.18);padding:10px;overflow:hidden}
.grid-banner-preview-link img{max-width:100%;max-height:100%;display:block;border-radius:10px}
.grid-banner-form{display:grid;gap:10px;margin-top:12px}
.grid-banner-actions{display:flex;gap:10px;align-items:center;margin-top:8px}
.featured-ad-preview{margin:16px 0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.featured-ad-preview-link{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:480px;min-height:70px;border-radius:14px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.18);padding:10px;overflow:hidden}
.featured-ad-preview-link img{max-width:100%;height:auto;display:block;border-radius:10px}
.featured-ad-form{display:grid;gap:10px;margin-top:12px}
.featured-ad-actions{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap}
.featured-highlights{margin-top:16px}
.featured-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.featured-item{background:rgba(255,255,255,.03);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}
.featured-item-link{display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.18);padding:8px;min-height:70px}
.featured-item-link img{max-width:100%;height:auto;display:block;border-radius:8px}

@keyframes grid-cell-in{from{opacity:0;transform:scale(.3) rotate(-24deg);}to{opacity:1;transform:scale(.95) rotate(0deg);}}

.grid-promo-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center}
.grid-promo-hero h1{margin-top:0;margin-bottom:12px;font-size:2.1rem;line-height:1.2}
.grid-promo-hero p{margin:0;color:var(--muted);line-height:1.6}
.grid-promo-hero-cta{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.grid-promo-cta-buttons{display:flex;flex-wrap:wrap;gap:10px}
.grid-promo-cta-buttons button,.grid-promo-cta-buttons a{font-size:1rem;padding:12px 20px;border-radius:999px;font-weight:700;background:var(--brand);color:#3b0d0d}
.grid-promo-cta-buttons a.secondary{background:rgba(255,255,255,.08);color:#fef6e4}
.grid-promo-hero-note{font-size:.9rem;color:rgba(255,255,255,.75)}
.grid-promo-highlights{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.grid-promo-highlights li{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.9)}
.grid-promo-highlights strong{color:var(--brand)}
.grid-promo-highlights span{flex:1}
.grid-promo-share{display:grid;gap:12px}
.grid-promo-share h3{margin:0}
.grid-promo-share p{margin:0;color:var(--muted)}
.grid-promo-share .share-field{font-size:.95rem}
.grid-game-board{margin:0 auto}
.grid-game-cell-label{position:absolute;inset:auto 8px 8px 8px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fef6e4;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-align:center}
.grid-game-cell[data-empty="true"] .grid-game-cell-inner{background:linear-gradient(135deg,rgba(245,158,11,.25),rgba(59,12,12,.95))!important;display:flex;align-items:center;justify-content:center}
.grid-game-cell[data-empty="true"] .grid-game-cell-label{display:none}
.grid-game-cell[data-empty="true"] .grid-game-cell-inner span{padding:0 12px;text-align:center;color:#fde68a;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem}
.grid-game-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;color:var(--muted);font-size:.85rem;margin-top:12px}
.grid-game-legend span{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.grid-game-legend-bullet{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.2);display:inline-block}
.grid-game-legend-bullet.win{background:#facc15}
.grid-game-legend-bullet.try{background:rgba(255,255,255,.4)}
.grid-promo-referrer{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.grid-promo-referrer-avatar{width:90px;height:90px;border-radius:50%;border:3px solid rgba(255,255,255,.2);object-fit:cover;background:#111}
.grid-promo-referrer-details{flex:1 1 220px;min-width:200px}
.grid-promo-referrer-details h3{margin:0 0 6px;font-size:1.3rem}
.grid-promo-referrer-details p{margin:4px 0;color:var(--muted)}
.grid-promo-referrer-details strong{color:#fef3c7}
.join-modal-backdrop{position:fixed;inset:0;background:rgba(10,0,0,.72);display:flex;justify-content:center;align-items:center;padding:24px;z-index:1000}
.join-modal-backdrop[hidden]{display:none}
.join-modal{position:relative;max-width:420px;width:100%;background:var(--card);border-radius:18px;padding:28px 28px 24px;box-shadow:0 24px 60px rgba(0,0,0,.45);display:grid;gap:16px;text-align:center}
.join-modal h3{margin:0;font-size:1.6rem}
.join-modal p{margin:0;color:var(--muted);line-height:1.5}
.join-modal-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.join-modal-actions a{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;font-weight:700;background:var(--brand);color:#3b0d0d;min-width:140px}
.join-modal-actions a.secondary{background:rgba(255,255,255,.08);color:#fef6e4}
.join-modal-close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.08);color:#fef6e4;border-radius:999px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer}
.join-modal-close:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.join-modal-backdrop[data-visible="true"]{animation:modal-fade-in .3s ease forwards}
.join-modal[data-visible="true"]{animation:modal-pop-in .3s ease forwards}
.join-modal{transform:scale(.94);opacity:0}

@keyframes modal-fade-in{from{opacity:0;}to{opacity:1;}}
@keyframes modal-pop-in{from{opacity:0;transform:translateY(30px) scale(.92);}to{opacity:1;transform:translateY(0) scale(1);}}

@media (max-width:820px){
  .grid-promo-hero{grid-template-columns:1fr;gap:20px;text-align:center}
  .grid-promo-hero-cta{align-items:center}
  .grid-promo-cta-buttons{justify-content:center}
  .grid-promo-highlights li{justify-content:center;text-align:left}
}

@media (max-width:620px){
  .grid-game-board{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));grid-auto-rows:70px}
  .grid-game-cell{width:100%;height:auto;aspect-ratio:1}
  .grid-promo-referrer{flex-direction:column;align-items:flex-start}
  .grid-promo-referrer-avatar{width:72px;height:72px}
  .grid-promo-referrer-details{width:100%}
}
