 :root{
      --bg: #fff9f0;
      --card: #ffffff;
      --primary-2: #4f6cf0;
      --accent: #ffd166;
      --ok: #2ecc71;
      --warn: #ff7b7b;
      --ink: #1f2937;
      --muted:#6b7280;
      --track:#e2e8f0;
      --shadow: 0 10px 30px rgba(0,0,0,.08);
      --radius: 18px;
    }
    *{box-sizing:border-box}
   .wrap{max-width:1100px;margin:0 auto;padding:20px}
    .brand{display:flex;align-items:center;gap:12px}
    .brand .logo{width:48px;height:48px;border-radius:14px;background:conic-gradient(from 0deg at 50% 50%, #ffda79, #6b8afd, #a0e7e5, #ffd166, #ff9aa2, #6b8afd);box-shadow:var(--shadow); position:relative}
    .brand .logo:after{content:"✝";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}
    h1-title{font-size:clamp(20px,2.5vw,28px);margin:0}
    .controls1{display:flex;gap:10px;flex-wrap:wrap}
    button,select{
      border:0; padding:10px 14px; border-radius:12px; background:var(--primary); color:white; font-weight:700; cursor:pointer; box-shadow:var(--shadow);
    }
    button.secondary{ background:#eef2ff; color:#374151 }
    button.ghost{ background:transparent; color:var(--primary); border:2px solid var(--primary)}
    button:disabled{opacity:.6;cursor:not-allowed}
    select{background:#eef2ff;color:#111827}

    .grid{display:grid; grid-template-columns: 1fr; gap:18px; margin-top:18px}
    @media (min-width: 980px){
      .grid{grid-template-columns: 1.2fr .8fr}
    }

    .card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px}

    /* PISTA */
    .track{position:relative; height:130px; background:repeating-linear-gradient(90deg, var(--track) 0 24px, #f8fafc 24px 48px); border-radius:16px; overflow:hidden}
    .finish{position:absolute; right:0; top:0; bottom:0; width:30px; background:repeating-linear-gradient(45deg, #111 0 8px, #fff 8px 16px)}
    .runner, .bot{
      position:absolute; left:8px; width:64px; height:64px; top:20px; display:grid; place-items:center; border-radius:18px; background:#ffffff; box-shadow:var(--shadow); transition:left .25s ease;
    }
    .runner .emoji{font-size:34px}
    .bot{ top: 75px }

    .hud{display:flex;gap:14px; align-items:center; flex-wrap:wrap; justify-content:space-between; margin-top:8px}
    .pill{background:#eef2ff;color:#111827; padding:8px 12px; border-radius:999px; display:flex;gap:8px; align-items:center; font-weight:700}
    .bar{height:10px;background:#e5e7eb;border-radius:999px; overflow:hidden}
    .bar>i{display:block; height:100%; width:0%; background:linear-gradient(90deg, var(--primary), var(--accent))}

    /* FRASE */
    .verse{font-size:clamp(18px,2.1vw,22px); line-height:1.6}
    .blank{
      display:inline-flex; min-width:80px; min-height:36px; padding:0 8px; border-radius:10px; border:2px dashed #c7d2fe; align-items:center; justify-content:center; margin:0 4px; vertical-align:middle; background:#f8fafc
    }
    .blank.filled{border-style:solid; border-color:#a5b4fc; background:#eef2ff}
    .wordbank{display:flex;flex-wrap:wrap; gap:10px; margin-top:14px}
    .chip{
      user-select:none; padding:8px 12px; border-radius:999px; background:#e0e7ff; font-weight:800; cursor:grab; box-shadow:var(--shadow);
    }
    .chip[draggable="true"]:active{cursor:grabbing}
    .chip.correct{background:#c7f9cc}
    .chip.wrong{background:#ffdddd}

    /* rodapé / ajuda */
    .helper{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px}
    .helper .hint{background:#fff7ed; border:2px dashed #fdba74; color:#7c2d12; padding:8px 12px; border-radius:12px; font-weight:700}
    .small{font-size:15px;color:var(--muted);margin-top:15px;}

    .list{margin-top:10px; display:flex; gap:10px; flex-wrap:wrap}
    .tag{background:#f3f4f6; color:#111827; padding:6px 10px; border-radius:999px; font-weight:700}

    .hidden{display:none !important}