:root{--bg: #0f172a;--card: #1e293b;--accent: #38bdf8;--text: #e2e8f0;--muted: #94a3b8}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}main{max-width:720px;margin:0 auto;padding:2rem 1rem;text-align:center}h1{font-size:2.5rem;margin-bottom:.25rem}.tagline{color:var(--muted);margin-top:0}.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:2rem}.game-card{display:flex;flex-direction:column;gap:.4rem;padding:1.25rem;background:var(--card);color:var(--text);border:2px solid transparent;border-radius:12px;cursor:pointer;text-align:left;transition:border-color .15s,transform .15s}.game-card:hover{border-color:var(--accent);transform:translateY(-2px)}.game-icon{font-size:2rem}.game-title{font-size:1.2rem;font-weight:700}.game-sense{color:var(--accent);font-size:.9rem}.game-desc{color:var(--muted);font-size:.9rem}.back{background:none;border:none;color:var(--accent);cursor:pointer;font-size:1rem;padding:.5rem}.dropzone{border:3px dashed var(--muted);border-radius:12px;padding:2rem;margin:1.5rem 0}.dropzone.over{border-color:var(--accent);background:#38bdf81a}.pickers{display:flex;gap:1rem;justify-content:center}.picker{background:var(--card);padding:.6rem 1.2rem;border-radius:8px;cursor:pointer}.picker:hover{outline:2px solid var(--accent)}.file-list{text-align:left;max-height:200px;overflow:auto;background:var(--card);border-radius:8px;padding:1rem 1rem 1rem 2.5rem;font-size:.85rem}.file-list .total{list-style:none;margin-left:-1.5rem}.start{margin-top:1rem;padding:.8rem 2rem;font-size:1.1rem;font-weight:700;background:var(--accent);color:#082f49;border:none;border-radius:8px;cursor:pointer}.start:disabled{opacity:.4;cursor:not-allowed}.progress{height:24px;background:var(--card);border-radius:12px;overflow:hidden;margin:1.5rem 0 .5rem}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#38bdf8,#818cf8);transition:width .2s}.progress-label{color:var(--muted)}.game-area{background:var(--card);border-radius:12px;min-height:220px;padding:2rem;margin-top:1rem}.kb-counter{font-size:1.4rem}.kb-hint{color:var(--muted)}
