/* style.css */
:root{
  --bg:#0f1320; --surface:#171b2f; --text:#e8ecff; --muted:#9aa3c8;
  --accent:#6cf; --accent2:#9f6cff; --danger:#ff6c9f; --ok:#5cd68d;
  --border:rgba(255,255,255,0.08); --shadow:0 10px 30px rgba(0,0,0,0.4);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--text)}
.app-header{padding:32px 20px;text-align:center;background:linear-gradient(120deg,rgba(108,255,255,0.15),rgba(159,108,255,0.15));border-bottom:1px solid var(--border)}
.app-header h1{margin:0 0 8px;font-size:2rem}
.app-header p{margin:0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:24px;max-width:1100px;margin:0 auto}
.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .15s ease, box-shadow .15s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,0.5)}
.card-body{padding:22px}
.card-body h2{margin:0 0 8px}
.card-body p{margin:0 0 14px;color:var(--muted)}
.btn-primary,.btn-secondary,.btn{display:inline-block;border:none;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:600}
.btn-primary{background:var(--accent);color:#041927}
.btn-secondary{background:var(--accent2);color:#140b24}
.btn{background:#2a3050;color:var(--text);border:1px solid var(--border)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0}
select,input[type="text"]{background:#1c213b;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 10px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:var(--shadow)}
.flex{display:flex;gap:14px;align-items:center}
.app-footer{padding:20px;text-align:center;color:var(--muted);border-top:1px solid var(--border)}
.center{max-width:1000px;margin:0 auto;padding:18px}
.tag{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.8rem;background:#21284a;color:var(--muted);border:1px solid var(--border)}
kbd{background:#11152a;border:1px solid var(--border);border-radius:6px;padding:2px 6px}
.hidden{display:none}

/* Snake canvas container */
.canvas-wrap{position:relative;display:grid;grid-template-columns:1fr;place-items:center;padding:16px}
canvas{background:#0b0f1f;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}
.overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,0.35)}
.overlay .panel{text-align:center}

/* Todo styles */
.list{display:grid;gap:10px;margin-top:12px}
.item{display:flex;align-items:center;gap:10px;background:#1b2140;border:1px solid var(--border);border-radius:12px;padding:10px}
.item.done{opacity:.7;text-decoration:line-through}
.item .title{flex:1}
.item .actions{display:flex;gap:8px}
.badge{background:#15203b;color:var(--muted);border:1px solid var(--border);padding:4px 8px;border-radius:8px}
