:root {--bg:#0f1221;--bg-2:#171b2d;--bg-3:#1d2236;--line:#3c465f;--text:#fff;--muted:#b9c2d7;--accent:#c2fd00;--accent-2:#38a9ff;--danger:#d85a4d;--maxw:1180px;}
*{box-sizing:border-box}
body{margin:0;color:var(--text);font-family:Arial,Tahoma,sans-serif;background:radial-gradient(circle at top left,rgba(56,169,255,.14),transparent 24%),linear-gradient(180deg,#0b1020 0%,#12172a 100%)}
body.swipe-hint-active{min-height:calc(100dvh + 160px)}
a{color:inherit;text-decoration:none}
.header-shell{position:sticky;top:0;z-index:20;background:rgba(11,15,27,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
header{width:min(calc(100% - 20px),var(--maxw));margin:0 auto;min-height:64px;display:flex;align-items:center;gap:12px;padding:10px 0}
#logo{display:inline-flex;align-items:center;width:150px;flex:0 0 auto}
#logo img{width:140px;height:auto;display:block}
.search-wrap{flex:1 1 auto;display:flex;align-items:center;min-width:0}
.search-wrap input{width:100%;border:1px solid #114e7e;background:#1c1f2f;color:#fff;line-height:24px;padding:11px 14px;border-radius:8px;outline:0;font-size:15px}
.search-wrap input::placeholder{color:#d9dfef}
.header-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.header-links a,.header-links button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--muted);font:inherit;cursor:pointer}
.header-links a:hover,.header-links button:hover{color:#fff;border-color:#56627e}
.provider-bar-wrap{border-bottom:1px solid rgba(255,255,255,.06);background:rgba(15,18,33,.96)}
.provider-bar{width:min(calc(100% - 20px),var(--maxw));margin:0 auto;padding:12px 0 14px;display:flex;gap:12px;align-items:center}
.provider-bar label{color:var(--muted);font-size:13px;white-space:nowrap}
.provider-picker-shell{flex:1 1 auto;min-width:0}
.hidden-picker-input{position:absolute;opacity:0;pointer-events:none}
.picker{position:relative}
.picker-button{width:100%;min-height:50px;border:1px solid #114e7e;border-radius:14px;background:var(--bg-3);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font:inherit;color:#fff}
.picker-button-label{display:flex;align-items:center;gap:10px;min-width:0}
.picker-button-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.picker-chevron{color:var(--muted);font-size:14px;flex:0 0 auto}
.picker-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#171b2d;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 24px 50px rgba(0,0,0,.35);padding:12px;display:none;z-index:40}
.picker-menu.open-up{top:auto;bottom:calc(100% + 8px)}
.picker-menu.show{display:block}
.picker-search{width:100%;height:44px;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:0 12px;background:#0f1221;color:#fff;font:inherit;margin-bottom:10px;outline:0}
.picker-search::placeholder{color:#8f9bb7}
.picker-list{display:grid;gap:6px;max-height:min(58vh,420px);overflow:auto}
.picker-group{display:grid;gap:6px}
.picker-group + .picker-group{margin-top:12px}
.picker-group-title{padding:4px 4px 2px;color:#8f9bb7;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.picker-alpha{position:sticky;top:-1px;z-index:2;padding:10px 4px 6px;color:#c2fd00;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(23,27,45,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
.picker-item{width:100%;border:0;background:rgba(255,255,255,.04);border-radius:14px;padding:10px 12px;cursor:pointer;text-align:left;font:inherit;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}
.picker-item:hover,.picker-item.active{background:rgba(194,253,0,.14)}
.picker-item-copy{display:block;min-width:0;flex:1 1 auto}
.picker-item-main,.picker-item-meta{display:block}
.picker-item-main{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.picker-item-meta{margin-top:4px;font-size:12px;color:var(--muted)}
.picker-item-art{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;min-width:60px}
.picker-item-logo{display:block;max-width:88px;max-height:24px;width:auto;height:auto;object-fit:contain;opacity:.95}
.provider-fav-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;color:#9ba6bf;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease;flex:0 0 auto}
.provider-fav-toggle:hover{color:#ff727a;border-color:rgba(255,114,122,.35);background:rgba(255,114,122,.08)}
.provider-fav-toggle.faved{color:#ff4d5a;border-color:rgba(255,77,90,.4);background:rgba(255,77,90,.12)}
.game-fav-toggle{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;color:#c2cada;background:rgba(9,12,20,.72);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}
.game-fav-toggle:hover{color:#ff727a;border-color:rgba(255,114,122,.35);background:rgba(255,114,122,.08)}
.game-fav-toggle.faved{color:#ff4d5a;border-color:rgba(255,77,90,.4);background:rgba(255,77,90,.12)}
.provider-apply{border:1px solid #445167;background:var(--accent);color:#111522;border-radius:10px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer}
.page{width:min(calc(100% - 20px),var(--maxw));margin:0 auto;padding:18px 0 32px}
#content{padding-top:18px}
.games-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.games-summary h2{margin:0;font-size:24px;color:#fff}
.games-summary span{color:var(--muted);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.slot-card{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;transition:transform .18s ease,border-color .18s ease}
.slot-card:hover{transform:translateY(-2px);border-color:rgba(194,253,0,.4)}
.slot-media{display:block;background:#0b1020;aspect-ratio:1 / 1;overflow:hidden}
.slot-image-r{width:100%;height:100%;display:block;object-fit:contain}
.thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);background:linear-gradient(135deg,#1f2740,#11182a);font-size:13px}
.slot-body{padding:11px 12px 13px}
.slot-title{display:block;font-size:13px;line-height:1.35;color:#fff;font-weight:700}
.slot-provider{display:block;margin-top:5px;color:var(--accent-2);font-size:12px}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}
.pagination button,.pagination span{min-width:40px;min-height:40px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:var(--bg-2);color:#fff;font:inherit}
.pagination button{cursor:pointer}
.pagination .page-current{background:var(--accent);color:#111522;border-color:transparent;font-weight:700}
.pagination .page-dots{min-width:auto;background:transparent;border:0;color:var(--muted)}
.empty-state,.loading-state,.error-state{padding:36px 20px;text-align:center;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--muted)}
.error-state{color:#ffd5cf;border-color:rgba(216,90,77,.35)}
.modal-backdrop{position:fixed;inset:0;background:rgba(4,7,14,.78);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:120}
.modal-backdrop.open{display:flex}
#gameModal{z-index:140}
#searchModal{z-index:130}
.modal-shell{position:relative;width:min(calc(100% - 24px),1100px);background:#05070d;border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.modal-top{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;background:#12182a;border-bottom:1px solid rgba(255,255,255,.06)}
.modal-top strong{font-size:15px}
.modal-top span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.modal-actions{display:flex;gap:8px;align-items:center}
.modal-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#171b2d;color:#fff;font:inherit;cursor:pointer}
.modal-player{position:relative;z-index:1;width:100%;height:min(80dvh,900px);border:0;display:block;background:#000}
.modal-currency-gate{display:none;padding:16px 14px;border-bottom:1px solid rgba(255,255,255,.06);background:#101629}
.modal-currency-gate.show{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:min(520px,calc(100% - 32px));padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(16,22,41,.96);box-shadow:0 28px 60px rgba(0,0,0,.38);backdrop-filter:blur(10px)}
.modal-currency-gate .currency-gate-label{font-size:14px;line-height:1.45;color:#c8d0df;max-width:28ch;text-align:center}
.modal-currency-gate .currency-gate-actions{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}
.modal-currency-gate .currency-picker-shell{width:min(320px,100%);min-width:0;max-width:100%;position:relative}
.modal-currency-gate .currency-picker-shell .picker-button{width:100%;min-height:54px;border:1px solid #222733;background:#222733;padding:0 18px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff}
.modal-currency-gate .currency-picker-shell .picker-button:hover{border-color:#56627e}
.modal-currency-gate .currency-picker-shell .picker-button-label{justify-content:center;width:100%;font-weight:700;font-size:17px}
.modal-currency-gate .currency-picker-shell .picker-chevron{color:#c7d0e6;font-size:18px}
.modal-currency-gate .currency-picker-shell .picker-menu{left:50%;right:auto;transform:translateX(-50%);width:min(320px,calc(100vw - 32px));top:calc(100% + 6px);border-radius:16px;padding:8px;background:#161c2d;border-color:rgba(255,255,255,.08);box-shadow:0 20px 44px rgba(0,0,0,.42)}
.modal-currency-gate .currency-picker-shell .picker-menu.open-up{bottom:calc(100% + 6px)}
.modal-currency-gate .currency-picker-shell .picker-search{margin-bottom:8px;background:#0e1424;border-color:#2d3a57;color:#fff}
.modal-currency-gate .currency-picker-shell .picker-search::placeholder{color:#7f8aa3}
.modal-currency-gate .currency-picker-shell .picker-list{max-height:min(42vh,260px);display:grid;gap:6px}
.modal-currency-gate .currency-picker-shell .picker-item{padding:11px 12px;background:#0f1525;border:1px solid rgba(255,255,255,.06);color:#fff}
.modal-currency-gate .currency-picker-shell .picker-item:hover{background:#182238;border-color:#3f516f}
.modal-currency-gate .currency-picker-shell .picker-item.active{background:#1d2942;border-color:#4d6488;color:#fff}
.modal-currency-gate button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:14px;border:1px solid transparent;background:var(--accent);color:#111522;font:inherit;font-weight:700;cursor:pointer;font-size:17px}
.modal-empty{padding:48px 20px;text-align:center;color:var(--muted)}
.fullscreen-btn svg{display:block}
#searchModal{align-items:flex-start;justify-content:center;padding-top:18px}
.search-modal-shell{width:min(calc(100% - 24px),820px);max-height:min(calc(100dvh - 36px),900px);background:#11172a;border:1px solid rgba(255,255,255,.1);border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.45);overflow:hidden}
.search-modal-top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);background:#12182a}
.search-modal-top input{flex:1 1 auto;width:100%;border:1px solid #114e7e;background:#0f1221;color:#fff;line-height:24px;padding:11px 14px;border-radius:12px;outline:0;font-size:16px}
.search-modal-top button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:#171b2d;color:#fff;font:inherit;cursor:pointer}
.search-modal-body{padding:12px 14px 16px;overflow:auto;max-height:calc(88dvh - 76px)}
.search-tabs{display:flex;gap:8px;margin-bottom:12px}
.search-tab{flex:1 1 0;border:1px solid rgba(255,255,255,.08);background:#171b2d;color:var(--muted);border-radius:12px;padding:10px 12px;font:inherit;cursor:pointer}
.search-tab.active{background:#2196f3;color:#fff;border-color:transparent}
.search-panel{display:none}
.search-panel.active{display:block}
.search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.search-grid .slot-card{min-width:0}
.search-provider-card .slot-media{display:flex;align-items:center;justify-content:center;padding:18px;background:#0b1020}
.search-provider-logo{max-width:130px;max-height:42px;width:auto;height:auto;display:block;object-fit:contain}
.search-empty{padding:28px 16px;text-align:center;color:var(--muted);border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.03)}
.search-loading{padding:22px 16px;color:var(--muted);text-align:center}
.swipe-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:none;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:rgba(8,12,20,.92);border:1px solid rgba(255,255,255,.12);color:#fff;z-index:5;pointer-events:auto;touch-action:pan-y}
.swipe-hint.show{display:flex}
.swipe-hint-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.swipe-hint-text{font-size:12px;line-height:1.3;text-transform:uppercase;font-weight:700;color:#ffeb3b}
.swipe-hint img{width:64px;height:auto;animation:swipeUp 4s infinite;pointer-events:none;flex:0 0 auto}
.swipe-hint-optout{display:inline-flex;align-items:center;gap:8px;font-size:12px;line-height:1.2;color:#cfd8ea;cursor:pointer}
.swipe-hint-optout input{margin:0;accent-color:#c2fd00}
.swipe-hint-close{border:0;background:transparent;color:#cfd8ea;font:inherit;cursor:pointer;padding:0 4px;pointer-events:auto;flex:0 0 auto}
@keyframes swipeUp{0%{transform:translateY(0)}50%{transform:translateY(-60px)}100%{transform:translateY(-60px)}}
@media (max-width:980px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:860px){.provider-bar{flex-wrap:wrap}.provider-picker-shell{flex-basis:100%}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){
    .page,header,.provider-bar{width:min(calc(100% - 14px),var(--maxw))}
    header{flex-wrap:nowrap;min-height:58px;padding:8px 0}
    .search-wrap{min-width:0;flex:1 1 auto}
    .search-wrap input{padding:9px 12px;font-size:14px}
    .header-links{flex:0 0 auto;width:auto;justify-content:flex-end;gap:6px;flex-wrap:nowrap}
    .header-links a{display:none}
    .header-links button{min-height:38px;padding:0 12px}
    .grid,.search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .picker-menu{max-height:calc(100dvh - 170px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:hidden}
    .picker-list{max-height:calc(100dvh - 240px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
    .modal-player{height:calc(100dvh - 78px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
    .modal-shell{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
    .modal-top{padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px}
    .modal-currency-gate.show{width:min(calc(100% - 20px),420px);padding:18px}
    .modal-currency-gate .currency-gate-actions{flex-direction:column}
    .modal-currency-gate .currency-picker-shell{width:100%}
    #modalCurrencyStart{width:100%}
    #searchModal{padding-top:0}
    .search-modal-shell{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0;padding-top:env(safe-area-inset-top,0px)}
    .search-modal-top{padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px}
    .search-modal-body{max-height:calc(100dvh - 88px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
    .swipe-hint{bottom:calc(72px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 20px)}
    .fullscreen-btn{display:none !important}
}
