:root{--cream:#fff8f0;--peach:#ffd9c6;--bubblegum:#ff5f9e;--bubblegum-dark:#e14586;--mint:#b8f2e6;--plum:#3a2a45;--muted:#a599af;--line:#3a2a451f;--font-display:"Baloo 2", "Comic Sans MS", sans-serif;--font-body:"Nunito", sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--cream);color:var(--plum);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button{font-family:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--bubblegum-dark);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shop{flex-direction:column;min-height:100vh;display:flex}.shop-hero{text-align:center;padding:4.5rem 1.5rem 3.5rem;position:relative;overflow:hidden}.blob{background:var(--mint);opacity:.6;z-index:0;border-radius:42% 58% 63% 37%/45% 41% 59% 55%;width:520px;height:420px;animation:12s ease-in-out infinite wobble;position:absolute;top:-120px;left:50%;transform:translate(-50%)}@keyframes wobble{0%,to{border-radius:42% 58% 63% 37%/45% 41% 59% 55%}50%{border-radius:58% 42% 38% 62%/55% 60% 40% 45%}}.shop-hero h1{z-index:1;font-family:var(--font-display);color:var(--plum);letter-spacing:-.01em;margin:0;font-size:clamp(2.8rem,8vw,4.5rem);font-weight:800;position:relative}.tagline{z-index:1;color:var(--plum);opacity:.75;margin:.5rem 0 0;font-size:1.1rem;font-weight:600;position:relative}.shop-grid-wrap{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem 3rem}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;display:grid}.squishy-card{cursor:pointer;text-align:left;box-shadow:0 10px 0 var(--peach), 0 14px 24px #3a2a451f;background:#fff;border:none;border-radius:22px;flex-direction:column;padding:0;transition:transform .18s cubic-bezier(.36,1.6,.6,1),box-shadow .18s;display:flex;overflow:hidden}.squishy-card:hover:not(.is-sold){transform:translateY(-4px)}.squishy-card.is-squishing{transform:scale(1.12,.85)}.squishy-card.is-sold{cursor:default;box-shadow:0 10px 0 var(--line), 0 14px 24px #3a2a4514}.squishy-image-wrap{aspect-ratio:1;background:var(--peach);position:relative;overflow:hidden}.squishy-card.is-sold .squishy-image-wrap{filter:grayscale(.8)brightness(.9)}.squishy-image-wrap img{object-fit:cover;width:100%;height:100%}.squishy-image-placeholder{width:100%;height:100%;font-family:var(--font-display);color:#3a2a4540;justify-content:center;align-items:center;font-size:3rem;display:flex}.sold-stamp{font-family:var(--font-display);letter-spacing:.08em;color:#fff;background:var(--plum);border:3px solid #fff;border-radius:8px;padding:.25rem 1rem;font-size:1.4rem;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)}.squishy-tag{justify-content:space-between;align-items:baseline;gap:.5rem;padding:.9rem 1rem .3rem;display:flex}.squishy-name{font-family:var(--font-display);color:var(--plum);font-size:1.05rem;font-weight:700;line-height:1.15}.squishy-price{font-family:var(--font-mono);color:var(--bubblegum-dark);white-space:nowrap;font-size:1rem;font-weight:700}.buy-hint{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.2rem 1rem 1rem;font-size:.75rem;font-weight:700}.shop-footer{text-align:center;padding:1.5rem}.shop-footer a{color:var(--muted);font-size:.8rem;font-weight:600;text-decoration:none}.shop-footer a:hover{color:var(--bubblegum-dark)}.admin-shell{max-width:680px;min-height:100vh;margin:0 auto;padding:2rem 1.25rem 4rem}.back-link{color:var(--muted);margin-bottom:1.5rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-block}.back-link:hover{color:var(--bubblegum-dark)}.status-text{text-align:center;color:var(--muted);padding:2rem 0;font-weight:600}.login-card{max-width:380px;box-shadow:0 10px 0 var(--peach), 0 14px 24px #3a2a451f;text-align:center;background:#fff;border-radius:22px;margin:3rem auto 0;padding:2.5rem 2rem}.login-card h1{font-family:var(--font-display);margin:0 0 .4rem;font-size:1.8rem}.subtext{color:var(--muted);margin:0 0 1.5rem;font-size:.9rem;font-weight:600}.login-card input{border:2px solid var(--line);width:100%;font-size:1rem;font-family:var(--font-body);border-radius:12px;margin-bottom:1rem;padding:.8rem 1rem}.login-card input:focus{border-color:var(--bubblegum);outline:none}button{background:var(--bubblegum);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.8rem 1.2rem;font-size:.95rem;font-weight:700;transition:background .15s,transform .1s}button:hover:not(:disabled){background:var(--bubblegum-dark)}button:disabled{opacity:.6;cursor:default}.error-text{color:var(--bubblegum-dark);margin:-.4rem 0 1rem;font-size:.85rem;font-weight:700}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.dashboard-header h1{font-family:var(--font-display);margin:0;font-size:2rem}.signout{color:var(--muted);border:2px solid var(--line);background:0 0;padding:.5rem .9rem;font-size:.8rem}.signout:hover{color:var(--bubblegum-dark);border-color:var(--bubblegum);background:0 0}.section-label{font-family:var(--font-display);margin:2rem 0 1rem;font-size:1.2rem}.add-form{box-shadow:0 8px 0 var(--peach), 0 12px 20px #3a2a451a;background:#fff;border-radius:20px;padding:1.5rem}.add-form-grid{align-items:stretch;gap:1rem;display:flex}.photo-input{background:var(--peach);height:120px;color:var(--plum);cursor:pointer;border-radius:16px;flex:0 0 120px;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative;overflow:hidden}.photo-input img{object-fit:cover;width:100%;height:100%}.photo-input input{opacity:0;cursor:pointer;position:absolute;inset:0}.text-inputs{flex-direction:column;flex:1;gap:.6rem;display:flex}.text-inputs input{border:2px solid var(--line);font-size:.95rem;font-family:var(--font-body);border-radius:12px;padding:.7rem .9rem}.text-inputs input:focus{border-color:var(--bubblegum);outline:none}.admin-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.admin-row{box-shadow:0 4px 0 var(--line), 0 6px 12px #3a2a450f;background:#fff;border-radius:16px;align-items:center;gap:.9rem;padding:.75rem;display:flex}.admin-row.is-sold{opacity:.6}.admin-thumb{background:var(--peach);border-radius:12px;flex-shrink:0;width:56px;height:56px;overflow:hidden}.admin-thumb img{object-fit:cover;width:100%;height:100%}.admin-thumb-placeholder{width:100%;height:100%;font-family:var(--font-display);color:#3a2a454d;justify-content:center;align-items:center;display:flex}.admin-info{flex-direction:column;flex:1;min-width:0;display:flex}.admin-name{font-weight:700;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-price{font-family:var(--font-mono);color:var(--bubblegum-dark);font-size:.9rem}.sold-pill{letter-spacing:.04em;background:var(--plum);color:#fff;border-radius:20px;flex-shrink:0;padding:.2rem .6rem;font-size:.7rem;font-weight:800}.admin-actions{flex-shrink:0;gap:.4rem;display:flex}.admin-actions button{padding:.5rem .7rem;font-size:.78rem}.admin-actions .danger{color:var(--muted);border:2px solid var(--line);background:0 0}.admin-actions .danger:hover{color:var(--bubblegum-dark);border-color:var(--bubblegum);background:0 0}@media (width<=480px){.admin-row{flex-wrap:wrap}.admin-actions{justify-content:flex-end;width:100%}}
