/* Minimal extras (Tailwind handles most styling) */ body { color: #1f2937; } #balloon-canvas { touch-action: none; } .balloon-canvas { background: #fff; border-radius: 1rem; box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06); border: 1px black solid; } /* Buttons */ .tool-btn { padding: .5rem .75rem; border: 1px solid #d1d5db; border-radius: .5rem; background: #fff; } .tool-btn[aria-pressed="true"] { background:#1f2937; color:#fff; border-color:#1f2937; } .btn-dark { background:#1f2937; color:#fff; padding:.6rem .8rem; border-radius:.5rem; } .btn-blue { background:#2563eb; color:#fff; padding:.6rem .8rem; border-radius:.5rem; } .btn-green { background:#16a34a; color:#fff; padding:.6rem .8rem; border-radius:.5rem; } .btn-yellow { background:#eab308; color:#fff; padding:.6rem .8rem; border-radius:.5rem; } .btn-danger { background:#ef4444; color:#fff; padding:.6rem .8rem; border-radius:.5rem; } .btn-indigo { background:#4f46e5; color:#fff; padding:.6rem .8rem; border-radius:.5rem; } .copy-message{ opacity:0; transition:opacity .3s; } .copy-message.show{ opacity:1; } .hint { font-size:.8rem; color:#6b7280; } /* Palette / Swatches */ .palette-box { display: flex; flex-direction: column; gap: .5rem; padding: .5rem; background: #fff; border: 1px solid #e5e7eb; border-radius: .5rem; } .swatch { position: relative; width: 2rem; height: 2rem; border-radius: 9999px; border: 2px solid rgba(0,0,0,.15); box-shadow: 0 1px 2px rgba(0,0,0,.08); cursor: pointer; } .swatch.active { outline: 2px solid #3b82f6; outline-offset: 2px; } .swatch-row { display:flex; flex-wrap:wrap; gap:.5rem; } .family-title { font-weight:600; color:#4b5563; margin-top:.25rem; font-size:.95rem; } .badge { position:absolute; right:-6px; top:-6px; min-width: 1.25rem; height: 1.25rem; padding: 0 .25rem; background:#111827; color:#fff; border-radius: 9999px; font-size:.7rem; display:flex; align-items:center; justify-content:center; } /* Selects */ .select { width: 100%; padding: .5rem .6rem; border: 1px solid #d1d5db; border-radius: .5rem; background: #fff; } /* hidden by default; only show in reorder mode */ .drag-handle { display: none; width: 28px; height: 28px; margin-right: .25rem; align-items: center; justify-content: center; border-radius: .5rem; border: 1px solid #e5e7eb; /* gray-200 */ background: #f8fafc; /* slate-50 */ font-size: 18px; line-height: 1; touch-action: none; /* better touch-drag */ cursor: grab; } .drag-handle:active { cursor: grabbing; } .reorder-on .drag-handle { display: inline-flex; } .reorder-on section { outline: 2px dashed #cbd5e1; outline-offset: 4px; } /* slate-300 */ .drag-ghost { opacity: .6; } #classic-swatch-grid .sw { width: 24px; height: 24px; border-radius: 6px; border: 1px solid rgba(0,0,0,.1); cursor: pointer; } #classic-swatch-grid .sw:focus { outline: 2px solid #2563eb; outline-offset: 2px; } .slot-btn[aria-pressed="true"] { background:#2563eb; color:#fff; } /* Add these new rules to your stylesheet */ .slot-container { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; } .slot-row { display: flex; align-items: center; gap: 0.75rem; } .slot-swatch { width: 2.5rem; /* 40px */ height: 2.5rem; /* 40px */ border-radius: 9999px; border: 3px solid #e5e7eb; /* gray-200 */ cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,0.1); transition: border-color .2s, transform .2s; display: flex; align-items: center; justify-content: center; font-weight: 600; color: rgba(0,0,0,0.4); background-size: cover; background-position: center; } .slot-swatch:hover { border-color: #9ca3af; /* gray-400 */ } .slot-swatch.active { border-color: #2563eb; /* blue-600 */ transform: scale(1.1); } .slot-label { font-weight: 600; color: #4b5563; /* gray-600 */ }