:root{--primary: #000;--accent: #e3ae24}*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:var(--primary);color:#fff}main{max-width:900px;margin:0 auto;padding:1rem}header{display:flex;align-items:center;gap:1rem}.logo{height:56px}h1{color:var(--accent);font-size:1.5rem}form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0}form label{width:100%}input[type=email]{flex:1;min-width:200px;padding:.6rem;border-radius:6px;border:0}button,.upload{background:var(--accent);color:var(--primary);border:0;border-radius:6px;padding:.5rem .9rem;font-weight:700;cursor:pointer}.bar{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;font-weight:700;color:var(--accent)}.note{width:100%;margin:.5rem 0}.banner{position:sticky;top:0;z-index:10;padding:.75rem 1rem;border:2px solid var(--accent);border-radius:8px;background:#fff;color:var(--primary);font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.tile{border:2px solid var(--accent);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.3rem;min-height:120px}.tile .day{font-size:1.6rem;font-weight:800;color:var(--accent)}.tile.locked{opacity:.4;border-style:dashed}.tile.done{background:var(--accent);color:var(--primary)}.tile.done .day{color:var(--primary)}.tile.flagged{border-color:#fff}.upload input{display:none}.reward,.shop{display:block;margin-top:1.5rem;color:var(--accent)}.admin{margin-top:2rem;border-top:1px solid var(--accent);padding-top:1rem}.flag-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.5rem 0}.flag-row{flex-direction:column;align-items:stretch;border-bottom:1px solid var(--accent);padding:.75rem 0}.flag-info{font-weight:700;overflow-wrap:anywhere}.flag-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.flag-actions a,.flag-actions button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem}.flag-actions button{flex:1 1 6rem}.flag-row a{color:var(--accent)}@media (min-width: 640px){.flag-row{flex-direction:row;justify-content:space-between;align-items:center}.flag-actions button{flex:0 0 auto}}
