*{box-sizing:border-box}
:root{
	--bg-1: #071018; /* page background gradient start */
	--bg-2: #0b1318; /* page background gradient end */
	--panel: #0b1418; /* card/panel background */
	--muted: #9fb0bb;
	--text: #e6f3f6;
	--gold: #ffd166; /* pastel gold */
	--gold-contrast: #081018;
	--glass: rgba(255,255,255,0.03);
}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;margin:0;background:linear-gradient(180deg,var(--bg-1),var(--bg-2));color:var(--text);display:flex;min-height:100vh;align-items:center;justify-content:center;padding:28px}
.container{width:100%;max-width:900px;padding:28px;background:linear-gradient(180deg,#0b1316,#061015);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,0.7);border:1px solid rgba(255,255,255,0.02)}
.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.header h1{margin:0;font-size:1.6rem;color:var(--text)}
.header .subtitle{font-size:0.95rem;color:var(--muted);margin-left:12px}
.status{display:flex;gap:14px;font-weight:700;color:var(--muted);align-items:center}
.small-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.home{display:flex;align-items:center;justify-content:center;padding:40px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px}
.card{width:100%;padding-top:100%;position:relative;perspective:800px;cursor:pointer;touch-action:manipulation;border-radius:10px}
.card.disabled{pointer-events:none;opacity:0.6}
.inner{position:absolute;inset:0;transition:transform .45s;transform-style:preserve-3d}
.card.flipped .inner{transform:rotateY(180deg)}
.face{position:absolute;inset:0;border-radius:10px;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s,filter .15s}
.front{background:linear-gradient(180deg,#0f2a33,#0b1b20);border:1px solid rgba(255,255,255,0.06);box-shadow:inset 0 2px 8px rgba(255,255,255,0.03),0 8px 24px rgba(0,0,0,0.6)}
.back{transform:rotateY(180deg);filter:brightness(1.06);border:1px solid rgba(255,255,255,0.04);box-shadow:inset 0 1px 0 rgba(255,255,255,0.02)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center}
.modal.hidden{display:none}
.modal-content{background:linear-gradient(180deg,#071016,#061014);padding:20px;border-radius:12px;max-width:96%;width:460px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.7);border:1px solid rgba(255,255,255,0.02)}
.modal-actions{margin-top:14px}
button, .primary{background:var(--gold);border:none;color:var(--gold-contrast);padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,0.6)}
.name-btn{padding:6px 8px;font-size:0.85rem;margin-left:8px;background:transparent;border:1px solid rgba(255,255,255,0.03);color:var(--text);border-radius:8px}
input#playerNameInput{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.03);margin-top:10px;background:transparent;color:var(--text)}
.media-note{font-size:0.88rem;color:var(--muted)}
@media (max-width:900px){
	.grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px}
	.modal-content{width:420px}
}
@media (max-width:480px){
	body{padding:12px}
	.container{padding:18px}
	.header{flex-direction:column;align-items:flex-start;gap:8px}
	.status{gap:8px;font-size:0.95rem}
	.grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
	.modal-content{width:calc(100% - 24px);padding:16px;border-radius:10px}
	button{padding:12px 14px}
	.name-btn{padding:8px 10px}
}

.highscores-panel{max-width:760px;margin:18px auto 40px;padding:0 20px}
.highscores-panel h3{margin:0 0 8px;font-size:1rem;color:var(--text)}
.highscores-list{list-style:decimal;margin:0;padding-left:18px;color:var(--text)}
.highscores-list li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.02);font-weight:600}

.modal .modal-content p{color:var(--text)}
