:root{color:#0f172a;background:#e2e8f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:24px}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.app-header h1{margin:0 0 6px;font-size:32px}.app-header p{color:#475569;margin:0}.panel{grid-template-columns:minmax(220px,280px) minmax(280px,1fr) minmax(260px,360px);gap:16px;margin-bottom:20px;display:grid}.tile-palette,.controls,.debug,.grid-card{background:#fff;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 8px 20px #0f172a14}.tile-palette,.controls,.debug{padding:16px}.tile-palette h2,.controls h2,.grid-title h2{margin:0 0 12px;font-size:18px}.tile-list{gap:8px;display:grid}.tile-button{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.tile-button.selected{border-color:#2563eb;outline:3px solid #bfdbfe}.tile-swatch{border:1px solid #0f172a33;border-radius:8px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-grid}.controls{align-content:start;gap:12px;display:grid}.field{gap:6px;display:grid}.field span{font-weight:700}.field input,.field select{border:1px solid #cbd5e1;border-radius:8px;width:140px;padding:8px}.size-fieldset{border:1px solid #cbd5e1;border-radius:10px;gap:10px;margin:0;padding:12px;display:grid}.size-fieldset legend{padding:0 6px;font-weight:700}.size-inputs{flex-wrap:wrap;gap:12px;display:flex}.compact-field input{width:100px}.button-row{flex-wrap:wrap;gap:8px;display:flex}.button-row button{color:#fff;background:#2563eb;border:0;border-radius:9px;padding:9px 12px;font-weight:700}.button-row button:hover{background:#1d4ed8}.debug{color:#334155;line-height:1.7}.grids{grid-template-columns:minmax(0,max-content) minmax(0,max-content);align-items:start;gap:20px;margin-bottom:20px;padding-bottom:12px;display:grid;overflow-x:auto}.grid-card{padding:16px}.grid-title{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.grid-title h2{margin-bottom:0}.grid-title span{color:#64748b;font-size:14px}.grid-canvas{image-rendering:pixelated;background:#f8fafc;border:1px solid #94a3b8;border-radius:10px;display:block}.grid-canvas.editable{cursor:crosshair}@media (width<=1100px){.panel,.grids{grid-template-columns:1fr}}
