.formation-picture{width:100%;border-radius:16px;background:color-mix(in srgb,var(--accent) 5%,transparent);margin-bottom:10px;pointer-events:none}.formation-picture svg{display:block;width:100%;height:110px}.part-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.part-slot{text-align:center;border:2px dashed var(--line);border-radius:16px;padding:5px;min-width:0}.part-move{width:100%;min-height:94px;border:1px solid var(--part);border-radius:12px;background:color-mix(in srgb,var(--part) 18%,var(--panel,#fff));color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px;touch-action:none;position:relative;cursor:grab}.part-move strong{font-size:26px}.part-move span{font-size:11px;overflow-wrap:anywhere}.part-move[aria-pressed=true],.part-move:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.part-slot.drop-target{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.part-move:disabled{opacity:.6;cursor:default}.front-options{display:flex;gap:10px;margin:14px 0}.front-options button{flex:1;white-space:normal;min-height:80px}.front-options button[aria-pressed=true]{outline:3px solid var(--accent)}@media(prefers-reduced-motion:no-preference){.part-slot{transition:background .16s,border-color .16s}.formation-picture{animation:formation-in .2s ease-out}@keyframes formation-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}}
