*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial}
.topbar{position:sticky;top:0;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #222}
.brand{font-weight:700}
.wallet-pill{background:#1f2937;color:#9be37f;padding:6px 10px;border-radius:999px;font-size:14px}
main{max-width:900px;margin:16px auto;padding:0 12px}
.card{background:#fff;border:1px solid #eee;border-radius:14px;padding:16px;margin:12px 0;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{border:1px solid #ddd;background:#f8f9fb;border-radius:999px;padding:8px 12px;cursor:pointer}
.tabs button.active{background:#111;color:#fff;border-color:#111}
.hidden{display:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.cardlike{border:1px solid #eee;border-radius:12px;padding:12px;background:#fafafa}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
input,select,button{padding:10px;border-radius:10px;border:1px solid #ddd}
button{cursor:pointer;background:#111;color:#fff}
button.ghost{background:#f3f4f6;color:#111}
button.danger{background:#ef4444}
.pillbar{display:flex;gap:8px;margin:8px 0}
.pill{background:#f3f4f6;color:#111;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px}
.stat{background:#f9fafb;border:1px solid #eee;border-radius:12px;padding:10px;min-width:120px}
.stat .label{font-size:12px;color:#6b7280}
.stat .value{font-size:20px;font-weight:700}
.log{margin-top:10px;font-family:ui-monospace,Consolas,monospace;background:#0b1221;color:#d1e7ff;padding:10px;border-radius:10px;white-space:pre-wrap}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
footer{text-align:center;color:#6b7280;padding:30px 0}
dialog{border:none;border-radius:16px;width:min(560px,92%);}
.player{padding:8px}
.fakevideo{height:180px;border-radius:12px;border:2px dashed #ddd;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,#fafafa,#f0f3f8)}
.fakevideo .timer{position:absolute;top:8px;left:8px;background:#111;color:#fff;border-radius:999px;padding:4px 8px;font-size:12px}
.fakevideo .focus{position:absolute;top:8px;right:8px;background:#10b981;color:#053; border-radius:999px;padding:4px 8px;font-size:12px}
.quiz{margin:12px 0}
.mission-title{font-weight:700}
.badge{font-size:12px;background:#eef2ff;color:#3730a3;border-radius:999px;padding:2px 8px;margin-left:6px}
.reward{font-size:12px;color:#059669}
