:root {
	--green: #6aaa64;
	--darkendGreen: #538d4e;
	--yellow: #c9b458;
	--darkendYellow: #b59f3b;
	--lightGray: #d8d8d8;
	--gray: #86888a;
	--darkGray: #939598;
	--white: #fff;
	--black: #212121;
	/* Colorblind colors */
	--orange: #f5793a;
	--blue: #85c0f9;
	font-family: 'Clear Sans', 'Helvetica Neue', Arial, sans-serif;
	font-size: 16px;
	--header-height: 50px;
	--keyboard-height: 200px;
	--game-max-width: 500px;
}

/* Light theme colors */
:root {
	--color-tone-1: #1a1a1b;
	--color-tone-2: #787c7e;
	--color-tone-3: #878a8c;
	--color-tone-4: #d3d6da;
	--color-tone-5: #edeff1;
	--color-tone-6: #f6f7f8;
	--color-tone-7: #ffffff;
	--opacity-50: rgba(255, 255, 255, 0.5);
}

/* Dark Theme Colors */
.nightmode {
	--color-tone-1: #d7dadc;
	--color-tone-2: #818384;
	--color-tone-3: #565758;
	--color-tone-4: #3a3a3c;
	--color-tone-5: #272729;
	--color-tone-6: #1a1a1b;
	--color-tone-7: #121213;
	--opacity-50: rgba(0, 0, 0, 0.5);
}

/* Constant colors and colors derived from theme */
:root,
.nightmode {
	--color-background: var(--color-tone-7);
}

:root {
	--color-present: var(--yellow);
	--color-correct: var(--green);
	--color-absent: var(--color-tone-2);
	--tile-text-color: var(--color-tone-7);
	--key-text-color: var(--color-tone-1);
	--key-evaluated-text-color: var(--color-tone-7);
	--key-bg: var(--color-tone-4);
	--key-bg-present: var(--color-present);
	--key-bg-correct: var(--color-correct);
	--key-bg-absent: var(--color-absent);
	--modal-content-bg: var(--color-tone-7);
}

.nightmode {
	--color-present: var(--darkendYellow);
	--color-correct: var(--darkendGreen);
	--color-absent: var(--color-tone-4);
	--tile-text-color: var(--color-tone-1);
	--key-text-color: var(--color-tone-1);
	--key-evaluated-text-color: var(--color-tone-1);
	--key-bg: var(--color-tone-2);
	--key-bg-present: var(--color-present);
	--key-bg-correct: var(--color-correct);
	--key-bg-absent: var(--color-absent);
	--modal-content-bg: var(--color-tone-7);
}

.colorblind {
	--color-correct: var(--orange);
	--color-present: var(--blue);
	--tile-text-color: var(--white);
	--key-bg-present: var(--color-present);
	--key-bg-correct: var(--color-correct);
	--key-bg-absent: var(--color-absent);
}

html {
	height: 100%;
}

body {
	height: 100%;
	background-color: var(--color-background);
	margin: 0;
	padding: 0;
	/* Prevent scrollbar appearing on page transition 
         overflow-y: hidden;
         */
}

.instructions {
	margin: auto;
	width: 90%;
	font-size: 16px;
	color: var(--color-tone-1)
}

.examples {
	border-bottom: 1px solid var(--color-tone-4);
	border-top: 1px solid var(--color-tone-4);
}

.example {
	margin-top: 24px;
	margin-bottom: 24px;
}

game-tile {
	width: 40px;
	height: 40px;
}

:host([page]) section {
	padding: 16px;
	padding-top: 0px;
}

.instructions {
  margin: auto;
  font-size: 16px;
  color: var(--color-tone-1);
 background:#374151;
}
.ins1 {
    padding: 40px 40px;
    text-align: center;
    margin-top: 40px;
    color:#fff;
}
.ins2{
    background:#1e293b;
    color:#fff;
padding: 40px 40px;}
h2 {
    text-align:center;
    margin:40px 0 20px;
    font-size:28px;
    font-weight:700;
  }
  /* How to Play */
  .howto {
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    max-width:900px;
    margin:0 auto;
    padding:20px;
  }
  .card {
    border-radius:10px;
    padding:24px 16px;
    text-align:center;
    box-shadow:0 2px 6px rgba(0,0,0,0.3);
  }
  .card:nth-child(odd) { background:#2d3748; }
  .card:nth-child(even){ background:#374151; }
  .card span.icon {
    font-size:32px;
    display:block;
    margin-bottom:12px;
  }
  .card h3 {
    margin:0 0 8px;
    font-size:18px;
    font-weight:700;
  }
  .card p {
    margin:0;
    font-size:14px;
    color:#cbd5e1;
  }
  .tiles {
    display:flex;
    justify-content:center;
    gap:8px;
    margin:30px 0;
  }
  .tile {
    width:160px;
    height:50px;
    font-size:22px;
    font-weight:bold;
    border-radius:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
  }
  .green { background:#6aaa64; }
  .yellow{ background:#c9b458; }
  .gray  { background:#787c7e; }
/* Why Play Here */
  .features {
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    max-width:1000px;
    margin:0 auto;
    padding:20px;
  }
  .feature {
    border-radius:10px;
    padding:24px 16px;
    text-align:center;
    box-shadow:0 2px 6px rgba(0,0,0,0.3);
  }
  .feature:nth-child(odd) { background:#2d3748; }
  .feature:nth-child(even){ background:#374151; }
  .feature span.icon {
    font-size:32px;
    display:block;
    margin-bottom:12px;
  }
  .feature h3 {
    margin:0 0 8px;
    font-size:18px;
    font-weight:700;
  }
  .feature p {
    margin:0;
    font-size:14px;
    color:#cbd5e1;
  }
.ins3{margin:0;
    font-family:'Segoe UI',sans-serif;
    background:#fdfaf6;
    color:#1e293b;}
.section {
    text-align:center;
    padding:40px 20px;
  }
  .section h2 {
    font-size:28px;
    font-weight:700;
    margin-bottom:10px;
  }
  .section p {
    font-size:16px;
    color:#4b5563;
    margin:0 0 30px;
  }
  .languages {
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    gap:16px;
    max-width:1000px;
    margin:0 auto;
  }
  .lang {
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:8px;
    padding:12px 16px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    transition: all 0.2s ease;
  }
  .lang img {
    width:28px;
    height:20px;
    margin-right:12px;
    border-radius:3px;
    object-fit:cover;
  }
  .lang:hover {
    background:#f3f4f6;
    transform:translateY(-2px);
  }
  .highlight {
    color:#059669; /* xanh lÃ¡ ná»•i báº­t */
  }
/* Footer */
  footer {
    display:flex;
    justify-content:end;
    gap:20px;
    padding:20px;
    color:#cbd5e1;
    font-size:14px;
    flex-wrap:wrap;
background:#374151;
  }
  footer a {color:#cbd5e1;text-decoration:none;}
  footer a:hover{text-decoration:underline;}
.page {
    width: 900px;
    margin: auto;
}