:root{--muted:#9aa3b2;--maxw:1100px;--tile-size:32px}body{color:#eee;background:#1e1e1e;flex-direction:column;align-items:center;min-height:100vh;margin:0;font-family:sans-serif;display:flex}h2{margin:20px}#toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin-bottom:10px;display:flex}#palette{flex-wrap:wrap;gap:5px;display:flex}.tile{cursor:pointer;background-position:50%;background-size:cover;border:2px solid #555;border-radius:6px;width:40px;height:40px}.tile.active{border-color:#fff}#grid{user-select:none;gap:1px;display:grid}.cell{width:var(--tile-size);height:var(--tile-size);background-color:#222;background-position:50%;background-size:cover;border:1px solid #333;border-radius:2px}button,select,input[type=file]{color:#eee;cursor:pointer;background:#333;border:1px solid #555;border-radius:4px;padding:6px 10px}button:hover,select:hover{background:#444}form{margin-top:15px}footer{background:linear-gradient(#ffffff03,#ffffff01);border-radius:12px;justify-content:space-between;align-items:center;margin-top:60px;padding:26px;display:flex}.socials a{color:var(--muted);margin-left:10px;text-decoration:none}.wrap{max-width:var(--maxw);margin:36px auto;padding:0 20px}@media print{body *{visibility:hidden}#printArea,#printArea *{visibility:visible}#printArea{position:absolute;top:0;left:0}.print-page{page-break-after:always;box-sizing:border-box;width:8.5in;height:11in;padding:.5in}.print-grid{gap:0;display:grid}.cell{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #000}}@page{margin:.5in;size:auto}
