*{box-sizing:border-box}html,body{margin:0;padding:0}
:root{
  --bg:#0b0f14;
  --card:#121826;
  --muted:#94a3b8;
  --text:#ff4000;
  --accent:#6ee7b7;
  --accent-strong:#ffffff;
  --danger:#f87171;
  --warning:#f59e0b;
  --border:#1f2937;
  --surface:#0e1624;
  --timer:#ffffff;
  --timer-bar:#ffffff;
}
:root[data-theme='light'], [data-theme='light']{
  --bg:#f7fafc;
  --card:#ffffff;
  --muted:#475569;
  --text:#0b0f14;
  --accent:#10b981;
  --accent-strong:#059669;
  --danger:#dc2626;
  --warning:#d97706;
  --border:#e2e8f0;
  --surface:#f8fafc;
  --timer:#0b0f14;
  --timer-bar:#0b0f14;
}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background: radial-gradient(1200px 800px at 80% -20%, #1e293b22, transparent), var(--bg);
  color: var(--text);
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.container{width:100%;max-width:920px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:16px}
.header{display:flex;justify-content:space-between;align-items:end;gap:12px}
.title{font-size:clamp(22px,4vw,34px);margin:0;font-weight:800;letter-spacing:.2px}
.meta{display:flex;gap:12px;color:var(--muted);font-weight:600}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:0 10px 30px #00000040;display:flex;flex-direction:column;gap:18px}
.subtitle{margin:0;color:var(--muted);font-weight:600}
.sample{background:var(--surface);border:1px dashed #233047;border-radius:12px;padding:20px 16px;font-size:clamp(18px,3.5vw,30px);line-height:1.35;min-height:96px}
.options{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:12px}
@media (min-width:640px){.options{grid-template-columns:repeat(3,minmax(0,1fr))}}
.btn{appearance:none;-webkit-appearance:none;border:1px solid var(--border);background:var(--surface);background-color:var(--surface);color:var(--text);padding:12px 14px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:.15s ease;display:flex;align-items:center;justify-content:center;gap:8px}
.btn:hover{transform:translateY(-1px);border-color:#2a3a52}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.btn-next{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#0a0f15;border:0}
.btn-next:disabled{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#0a0f15;border:0}
.btn-ghost{background:transparent;border-color:#2a3a52}
.btn.correct{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#062016;border:0}
.btn.wrong{background:linear-gradient(180deg,#ef4444,#dc2626);color:#fff;border:0}
.controls{display:flex;gap:10px;justify-content:flex-end}
.footer{color:var(--muted);text-align:center}
code{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:2px 6px;color:#8ab4ff}

/* Font Mixer additions */
.controls-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:16px}
@media(min-width:640px){.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.control{display:flex;flex-direction:column;gap:6px}
.label{color:var(--muted);font-weight:600}
.input{appearance:none;-webkit-appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:12px 12px;border-radius:10px;font-size:15px;font-weight:600}
.range{width:100%}

.mixer{position:relative}
.sample{position:relative;background:var(--surface);border:1px dashed #233047;border-radius:12px;padding:28px 18px;min-height:140px;display:flex;align-items:center;justify-content:center}
.layer{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;font-size:clamp(22px,4.2vw,48px);mix-blend-mode:normal;white-space:pre-wrap}
.layer-a{font-family:'Roboto Flex', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif}
.layer-b{font-family:'Bodoni Moda', 'Times New Roman', serif}
.mix-output{position:relative;text-align:center;line-height:1.25;font-size:clamp(22px,4.2vw,48px);white-space:pre-wrap;word-break:break-word}
.mix-output .a{font-family:'Roboto Flex', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif}
.mix-output .b{font-family:'Bodoni Moda', 'Times New Roman', serif}
.mix-canvas{display:block;width:100%;height:auto}

/* Color Game */
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.control-inline{display:flex;align-items:center;gap:8px}
.select{appearance:none;-webkit-appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 10px;border-radius:10px;font-size:14px;font-weight:600}
.score{color:var(--muted);font-weight:700}
.timer{color:var(--timer);font-weight:800;margin-left:10px;position:relative;padding-bottom:4px;letter-spacing:0.5px}
.timer::after{content:"";position:absolute;left:0;bottom:0;height:2px;background:var(--timer-bar);opacity:.9;width:100%;transform-origin:left center;transform:scaleX(1)}
.timer.running::after{animation:timer-deplete 5s linear forwards}
@keyframes timer-deplete{from{transform:scaleX(1)}to{transform:scaleX(0)}}

.actions{display:flex;gap:10px;justify-content:flex-start;margin:12px 0}

.board{display:grid;grid-template-columns:repeat(2, auto);gap:14px;justify-content:center;align-items:center}
.tile{appearance:none;-webkit-appearance:none;border:2px solid var(--border);border-radius:50%;box-shadow:0 8px 20px #00000030;cursor:pointer;transition:transform .12s ease, border-color .12s ease;width:clamp(72px,20vw,150px);height:clamp(72px,20vw,150px)}
.tile:hover{transform:translateY(-2px);border-color:#2a3a52}
.tile:focus{outline:2px solid #3b82f6;outline-offset:2px}
.tile.correct{border-color:var(--accent)}
.tile.wrong{border-color:#ef4444}

.message{min-height:24px;margin-top:12px;color:var(--muted);font-weight:700}

