*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;color:#e5e7eb;background:#0b1220}
.topbar{position:sticky;top:0;background:#0f172a;color:#fff;display:flex;align-items:center;padding:.6rem .9rem;border-bottom:1px solid #1f2937;z-index:10}
.brand{display:flex;gap:.6rem;align-items:center;font-weight:700}
main{max-width:1100px;margin:1rem auto;padding:.5rem}
.card{background:#0f172a;border:1px solid #1f2937;border-radius:14px;padding:1rem;margin:.75rem 0;box-shadow:0 10px 30px rgba(0,0,0,.2)}
h1,h2{margin:.2rem 0 .6rem 0;color:#fff}
.row{display:flex;gap:.5rem;flex-wrap:wrap}
.row.between{justify-content:space-between;align-items:center}
input,button,select{font-size:1rem;padding:.7rem .9rem;border-radius:12px;border:1px solid #334155;background:#0b1220;color:#e5e7eb}
button{cursor:pointer}
button.ghost{background:transparent}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.7rem}
.card-item{padding:.9rem;border:1px solid #334155;border-radius:12px;background:#0b1220;display:flex;flex-direction:column;gap:.4rem}
.badges{display:flex;gap:.4rem;flex-wrap:wrap}
.badge{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;border:1px solid #475569;color:#cbd5e1}
.status{margin-left:auto}
.exo{border:1px solid #334155;border-radius:12px;padding:.6rem;margin:.6rem 0;background:#0b1220}
.exo h4{margin:.2rem 0 .4rem 0}
.exo pre{background:#0f172a;border:1px solid #334155;border-radius:10px;padding:.5rem;overflow:auto}
.exo .controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.4rem 0}
.small{opacity:.7}
.footer{opacity:.6;text-align:center;padding:1rem}
#editor{height:200px;border:1px solid #334155;border-radius:10px}
.output{white-space:pre-wrap;background:#0f172a;border:1px solid #334155;border-radius:10px;padding:.5rem}
.success{border-color:#16a34a} .fail{border-color:#dc2626}
.toggle{margin-left:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid #334155;padding:.5rem;text-align:center}
.table th{background:#0b1220}
