:root{--bg:#08111f;--card:#101c30;--text:#f5f7fb;--muted:#95a3b8;--accent:#22d3ee;--pink:#fb7185}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#164e63,transparent 30%),radial-gradient(circle at 80% 20%,#581c87,transparent 25%),var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text)}a{color:inherit;text-decoration:none}.container{width:min(1100px,94%);margin:auto}.nav{display:flex;justify-content:space-between;align-items:center;padding:22px 0}.brand{font-weight:900;font-size:26px}.brand span{color:var(--accent)}.hero{padding:45px 0 30px}.hero h1{font-size:52px;line-height:1;margin:0 0 14px}.hero p{color:var(--muted);font-size:18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.card{background:rgba(16,28,48,.82);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:16px;box-shadow:0 20px 45px rgba(0,0,0,.25)}.thumb{height:130px;border-radius:16px;background:linear-gradient(135deg,#22d3ee,#fb7185);display:flex;align-items:center;justify-content:center;font-size:42px;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.game-thumb-link{transition:transform .15s ease,filter .15s ease}.game-thumb-link:hover{transform:translateY(-2px);filter:brightness(1.08)}.game-title-link:hover{color:var(--accent)}.thumb-preview{width:86px;height:52px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#22d3ee,#fb7185);display:grid;place-items:center;font-size:20px}.thumb-preview img{width:100%;height:100%;object-fit:cover;display:block}.inline-upload{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-upload input[type=file]{max-width:210px}.ghost-btn{background:rgba(255,255,255,.12);color:var(--text)}.btn{display:inline-block;background:var(--accent);color:#07111f;font-weight:900;padding:12px 18px;border-radius:14px;margin-top:12px;border:0;cursor:pointer}.btn.danger{background:var(--pink)}.muted{color:var(--muted)}.play-layout{display:grid;grid-template-columns:1fr 300px;gap:18px}.game-frame{width:100%;height:680px;border:0;border-radius:20px;background:#000}.ad{background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.25);border-radius:18px;padding:25px;text-align:center;color:var(--muted);margin-bottom:18px}.table{width:100%;border-collapse:collapse;background:rgba(16,28,48,.7);border-radius:16px;overflow:hidden}.table th,.table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.form{display:grid;gap:12px}.input,textarea,select{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#07111f;color:white}@media(max-width:800px){.hero h1{font-size:36px}.play-layout{grid-template-columns:1fr}.game-frame{height:620px}}
.notice{background:rgba(34,211,238,.18);border:1px solid rgba(34,211,238,.35);border-radius:14px;padding:12px 14px}.notice.error{background:rgba(251,113,133,.18);border-color:rgba(251,113,133,.45)}.small{font-size:13px}.upload-box{display:block;border:1px dashed rgba(255,255,255,.25);border-radius:14px;padding:16px;background:rgba(255,255,255,.04)}.play-layout.single{grid-template-columns:1fr}.play-layout.single .game-frame{height:760px}.table a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}
.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:min(430px,94vw)}

/* Admin dashboard upgrade */
.admin-body{background:#07111f;color:var(--text)}
.admin-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.admin-sidebar{position:sticky;top:0;height:100vh;padding:24px;background:rgba(5,12,24,.95);border-right:1px solid rgba(255,255,255,.08)}
.admin-brand{display:block;margin-bottom:26px}.side-menu{display:grid;gap:8px}.side-menu a{padding:12px 14px;border-radius:14px;color:var(--muted);background:transparent}.side-menu a:hover{background:rgba(255,255,255,.07);color:var(--text)}.side-menu .danger-link{color:#fb7185}
.admin-main{padding:28px;max-width:1250px;width:100%}.admin-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.admin-topbar h1{margin:0;font-size:38px}.admin-section{margin:0 0 28px;scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.stat-card{background:linear-gradient(145deg,rgba(34,211,238,.16),rgba(251,113,133,.08));border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:18px}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card strong{font-size:34px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table-wrap{overflow:auto;border-radius:16px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions form{margin:0}.small-btn{padding:8px 11px;border-radius:10px;margin:0;font-size:12px}.pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.pill.ok{background:rgba(34,197,94,.16);color:#86efac}.pill.off{background:rgba(148,163,184,.18);color:#cbd5e1}.admin-form{max-width:900px}.panels{align-items:start}.checklist p{margin:8px 0}
@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.side-menu{grid-template-columns:repeat(2,1fr)}.admin-main{padding:18px}.stats-grid,.two-col{grid-template-columns:1fr}.admin-topbar{display:block}.table{min-width:720px}}

/* Frontend redesign: header, menu, logo, footer, suggestions */
.site-header{position:sticky;top:0;z-index:50;background:rgba(8,17,31,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.brand-with-logo{display:flex;align-items:center;gap:10px}.brand b,.admin-logo b{color:var(--accent);font-style:normal}.site-logo{width:42px;height:42px;border-radius:12px;box-shadow:0 10px 25px rgba(34,211,238,.18)}.top-menu{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.top-menu a{padding:10px 13px;border-radius:999px;color:var(--muted);font-weight:800}.top-menu a:hover{background:rgba(255,255,255,.08);color:var(--text)}.menu-toggle{display:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:12px;padding:9px 12px;font-size:20px}.hero-modern{padding:58px 0 35px}.hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:12px;font-weight:900;margin:0 0 10px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-panel{min-height:260px;border:1px solid rgba(255,255,255,.1);border-radius:30px;background:linear-gradient(145deg,rgba(34,211,238,.22),rgba(251,113,133,.12));display:grid;place-items:center;text-align:center;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.25)}.hero-orb{font-size:64px;filter:drop-shadow(0 20px 25px rgba(0,0,0,.35))}.hero-panel strong{font-size:56px}.section-block{padding:26px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 16px}.section-title h2{font-size:30px;margin:0}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;background:rgba(16,28,48,.76);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:14px}.feature-art{height:120px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#22d3ee,#fb7185);display:grid;place-items:center;font-size:42px}.feature-art img{width:100%;height:100%;object-fit:cover}.feature-card h3{margin:10px 0 6px}.feature-card p{margin:0;color:var(--muted);font-size:14px}.play-page{padding-top:24px}.play-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.play-head h1{margin:0;font-size:42px}.suggestion-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.mini-game-card{background:rgba(16,28,48,.78);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:12px}.mini-thumb{height:96px;border-radius:14px;background:linear-gradient(135deg,#22d3ee,#fb7185);display:grid;place-items:center;overflow:hidden;font-size:34px}.mini-thumb img{width:100%;height:100%;object-fit:cover}.mini-game-card h3{font-size:16px;margin:10px 0 4px}.mini-game-card span{color:var(--muted);font-size:12px}.site-footer{margin-top:50px;background:rgba(5,12,24,.9);border-top:1px solid rgba(255,255,255,.08);padding:34px 0 18px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px}.footer-grid h3,.footer-grid h4{margin-top:0}.footer-grid p{color:var(--muted)}.footer-grid a{display:block;color:var(--muted);margin:8px 0}.footer-grid a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid rgba(255,255,255,.07);margin-top:18px;padding-top:16px;color:var(--muted);font-size:13px}
@media(max-width:950px){.hero-grid,.featured-grid,.footer-grid{grid-template-columns:1fr}.feature-card{grid-template-columns:120px 1fr}.top-menu{display:none;position:absolute;left:3%;right:3%;top:72px;background:#07111f;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:12px}.menu-open .top-menu{display:grid}.menu-toggle{display:block}.play-head{display:block}.hero h1{font-size:38px}}
@media(max-width:520px){.feature-card{grid-template-columns:1fr}.feature-art{height:160px}.header-inner{padding:10px 0}.brand{font-size:22px}.site-logo{width:36px;height:36px}.hero-modern{padding-top:34px}.hero-panel{min-height:190px}.game-frame{height:560px}.section-title{display:block}}

.game-stage{background:#000;border-radius:20px;overflow:hidden}
.game-stage:fullscreen{width:100vw;height:100vh;border-radius:0}
.game-stage:fullscreen .game-frame{width:100%;height:100%;border-radius:0}
.game-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0 4px}
.game-music{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-weight:800}
.game-music audio{height:38px;max-width:min(360px,90vw)}
.play-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.play-meta span{display:inline-flex;width:max-content;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--muted);font-size:12px;font-weight:900}.rating-stat b{color:#fbbf24;font-size:14px;line-height:1}
.game-long-description{line-height:1.75;color:#dbeafe;background:rgba(16,28,48,.46);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:22px}
.game-long-description h2{margin:0 0 12px;color:var(--text);font-size:28px}
.game-long-description p{margin:0}

.notice.success{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.34)}.game-main-column{min-width:0}.play-layout{align-items:start}.game-main-column .game-frame{height:760px}.game-action-bar{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 6px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(16,28,48,.72)}.game-action-bar .btn{margin-top:0}.icon-action,.bar-button{height:40px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.08);color:var(--text);font-weight:900;cursor:pointer}.icon-action{width:44px;display:grid;place-items:center;font-size:20px}.bar-button{display:inline-flex;align-items:center;gap:7px;padding:0 13px;list-style:none}.action-popover{position:relative}.action-popover summary::-webkit-details-marker{display:none}.action-popover[open] .bar-button{border-color:rgba(34,211,238,.45);background:rgba(34,211,238,.16)}.rating-form,.report-form,.share-links{position:absolute;top:48px;left:0;z-index:20;width:280px;display:grid;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#07111f;box-shadow:0 22px 50px rgba(0,0,0,.35)}.share-links{grid-template-columns:1fr 1fr;width:320px}.star-options{display:grid;gap:5px}.star-options label{display:flex;align-items:center;gap:8px;color:#fbbf24;font-size:18px;cursor:pointer}.star-options input{accent-color:#fbbf24}.report-form label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.danger-lite{color:#fecdd3}.game-action-bar .game-music{margin-left:auto}.game-side-suggestions{position:sticky;top:88px;display:grid;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(16,28,48,.68);padding:14px}.game-side-suggestions h2{margin:0 0 2px;font-size:18px}.side-suggestion{display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:center;padding:8px;border-radius:14px;background:rgba(255,255,255,.04)}.side-suggestion:hover{background:rgba(255,255,255,.08)}.side-suggestion-thumb{height:58px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#22d3ee,#fb7185);font-size:12px;font-weight:900}.side-suggestion-thumb img{width:100%;height:100%;object-fit:cover}.side-suggestion strong{display:block;font-size:14px;line-height:1.2}.side-suggestion small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
@media(max-width:950px){.game-main-column .game-frame{height:620px}.game-side-suggestions{position:static;grid-template-columns:repeat(2,1fr)}.game-side-suggestions h2{grid-column:1/-1}.rating-form,.report-form,.share-links{left:auto;right:0}}
@media(max-width:620px){.game-action-bar{align-items:stretch}.action-popover{position:static}.bar-button,.icon-action{width:100%;justify-content:center}.rating-form,.report-form,.share-links{position:static;width:100%;margin-top:8px}.share-links{grid-template-columns:1fr}.game-action-bar .game-music{margin-left:0;width:100%}.game-side-suggestions{grid-template-columns:1fr}.game-main-column .game-frame{height:560px}}

.game-thumb-link,.thumb,.tag-feature-art,.mini-thumb,.side-suggestion-thumb{position:relative}.game-tag-badge{position:absolute;right:8px;bottom:8px;z-index:2;display:inline-flex;width:max-content;max-width:calc(100% - 16px);padding:5px 8px;border-radius:999px;color:#fff;font-size:10px;font-weight:900;line-height:1;text-transform:uppercase;box-shadow:0 10px 22px rgba(0,0,0,.28)}.tag-hot{background:#ef4444}.tag-trending{background:#16a34a}.tag-original{background:#2563eb}.tag-top{background:#f97316}
.game-side-suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-side-suggestions h2{grid-column:1/-1}.side-suggestion{display:grid;grid-template-columns:1fr;gap:7px;padding:0;background:transparent}.side-suggestion:hover{background:transparent}.side-suggestion-thumb{height:auto;aspect-ratio:16/10;border-radius:13px;font-size:12px}.side-suggestion strong{font-size:13px;line-height:1.2}.side-suggestion small{display:none}
.mini-game-card{position:relative}.mini-game-card>.game-tag-badge{top:82px;bottom:auto}
@media(max-width:950px){.game-side-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}.game-side-suggestions h2{grid-column:1/-1}}
@media(max-width:620px){.game-side-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}}

aside.game-side-suggestions{display:grid;gap:12px}
aside.game-side-suggestions>h2{grid-column:1/-1}
aside.game-side-suggestions .try-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,auto);grid-auto-flow:column;gap:12px;grid-column:1/-1}
aside.game-side-suggestions .try-next-grid>a.side-suggestion{display:grid;grid-template-columns:1fr;gap:7px;align-items:start;padding:0;background:transparent;border-radius:13px}
aside.game-side-suggestions .try-next-grid>a.side-suggestion:hover{background:transparent}
aside.game-side-suggestions .side-suggestion-thumb{width:100%;height:auto;aspect-ratio:16/10;border-radius:13px}
aside.game-side-suggestions .side-suggestion>strong{display:block;font-size:13px;line-height:1.2;text-align:center}
